Class Infrastructure.Builder

java.lang.Object
security.whisper.javastix.sdo.objects.Infrastructure.Builder
Enclosing class:
Infrastructure

@NotThreadSafe public static final class Infrastructure.Builder extends Object
Builds instances of type Infrastructure. Initialize attributes and then invoke the build() method to create an immutable instance.

Builder is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.

  • Method Details

    • from

      @CanIgnoreReturnValue public final Infrastructure.Builder from(BundleableObject instance)
      Fill a builder with attribute values from the provided security.whisper.javastix.bundle.BundleableObject instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      @CanIgnoreReturnValue public final Infrastructure.Builder from(StixCommonProperties instance)
      Fill a builder with attribute values from the provided security.whisper.javastix.common.StixCommonProperties instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      @CanIgnoreReturnValue public final Infrastructure.Builder from(StixRevoked instance)
      Fill a builder with attribute values from the provided security.whisper.javastix.common.StixRevoked instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      @CanIgnoreReturnValue public final Infrastructure.Builder from(StixCustomProperties instance)
      Fill a builder with attribute values from the provided security.whisper.javastix.common.StixCustomProperties instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      @CanIgnoreReturnValue public final Infrastructure.Builder from(StixLabels instance)
      Fill a builder with attribute values from the provided security.whisper.javastix.common.StixLabels instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      @CanIgnoreReturnValue public final Infrastructure.Builder from(InfrastructureSdo instance)
      Fill a builder with attribute values from the provided security.whisper.javastix.sdo.objects.InfrastructureSdo instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      @CanIgnoreReturnValue public final Infrastructure.Builder from(StixModified instance)
      Fill a builder with attribute values from the provided security.whisper.javastix.common.StixModified instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      @CanIgnoreReturnValue public final Infrastructure.Builder from(DomainObject instance)
      Fill a builder with attribute values from the provided security.whisper.javastix.sdo.DomainObject instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • name

      @CanIgnoreReturnValue @JsonPropertyDescription("The name used to identify the Infrastructure.") public final Infrastructure.Builder name(String name)
      Initializes the value for the name attribute.
      Parameters:
      name - The value for name (can be null)
      Returns:
      this builder for use in a chained invocation
    • description

      @CanIgnoreReturnValue public final Infrastructure.Builder description(String description)
      Initializes the optional value description to description.
      Parameters:
      description - The value for description
      Returns:
      this builder for chained invocation
    • description

      @CanIgnoreReturnValue @JsonPropertyDescription("A description that provides more details and context about the Infrastructure, potentially including its purpose and its key characteristics.") public final Infrastructure.Builder description(Optional<String> description)
      Initializes the optional value description to description.
      Parameters:
      description - The value for description
      Returns:
      this builder for use in a chained invocation
    • addInfrastructureType

      @CanIgnoreReturnValue public final Infrastructure.Builder addInfrastructureType(@Nullable String element)
      Adds one element to infrastructureTypes set.
      Parameters:
      element - A infrastructureTypes element
      Returns:
      this builder for use in a chained invocation
    • addInfrastructureTypes

      @CanIgnoreReturnValue public final Infrastructure.Builder addInfrastructureTypes(String... elements)
      Adds elements to infrastructureTypes set.
      Parameters:
      elements - An array of infrastructureTypes elements
      Returns:
      this builder for use in a chained invocation
    • infrastructureTypes

      @CanIgnoreReturnValue @JsonPropertyDescription("The type of infrastructure being described. Open Vocabulary: infrastructure-type-ov") public final Infrastructure.Builder infrastructureTypes(Iterable<String> elements)
      Sets or replaces all elements for infrastructureTypes set.
      Parameters:
      elements - An iterable of infrastructureTypes elements
      Returns:
      this builder for use in a chained invocation
    • addAllInfrastructureTypes

      @CanIgnoreReturnValue public final Infrastructure.Builder addAllInfrastructureTypes(Iterable<String> elements)
      Adds elements to infrastructureTypes set.
      Parameters:
      elements - An iterable of infrastructureTypes elements
      Returns:
      this builder for use in a chained invocation
    • addAliase

      @CanIgnoreReturnValue public final Infrastructure.Builder addAliase(@Nullable String element)
      Adds one element to aliases set.
      Parameters:
      element - A aliases element
      Returns:
      this builder for use in a chained invocation
    • addAliases

      @CanIgnoreReturnValue public final Infrastructure.Builder addAliases(String... elements)
      Adds elements to aliases set.
      Parameters:
      elements - An array of aliases elements
      Returns:
      this builder for use in a chained invocation
    • aliases

      @CanIgnoreReturnValue @JsonPropertyDescription("Alternative names used to identify this Infrastructure.") public final Infrastructure.Builder aliases(Iterable<String> elements)
      Sets or replaces all elements for aliases set.
      Parameters:
      elements - An iterable of aliases elements
      Returns:
      this builder for use in a chained invocation
    • addAllAliases

      @CanIgnoreReturnValue public final Infrastructure.Builder addAllAliases(Iterable<String> elements)
      Adds elements to aliases set.
      Parameters:
      elements - An iterable of aliases elements
      Returns:
      this builder for use in a chained invocation
    • addKillChainPhase

      @CanIgnoreReturnValue public final Infrastructure.Builder addKillChainPhase(@Nullable KillChainPhaseType element)
      Adds one element to killChainPhases set.
      Parameters:
      element - A killChainPhases element
      Returns:
      this builder for use in a chained invocation
    • addKillChainPhases

      @CanIgnoreReturnValue public final Infrastructure.Builder addKillChainPhases(KillChainPhaseType... elements)
      Adds elements to killChainPhases set.
      Parameters:
      elements - An array of killChainPhases elements
      Returns:
      this builder for use in a chained invocation
    • killChainPhases

      @CanIgnoreReturnValue @JsonPropertyDescription("The list of kill chain phases for which this Infrastructure is used.") public final Infrastructure.Builder killChainPhases(Iterable<? extends KillChainPhaseType> elements)
      Sets or replaces all elements for killChainPhases set.
      Parameters:
      elements - An iterable of killChainPhases elements
      Returns:
      this builder for use in a chained invocation
    • addAllKillChainPhases

      @CanIgnoreReturnValue public final Infrastructure.Builder addAllKillChainPhases(Iterable<? extends KillChainPhaseType> elements)
      Adds elements to killChainPhases set.
      Parameters:
      elements - An iterable of killChainPhases elements
      Returns:
      this builder for use in a chained invocation
    • firstSeen

      @CanIgnoreReturnValue public final Infrastructure.Builder firstSeen(StixInstant firstSeen)
      Initializes the optional value firstSeen to firstSeen.
      Parameters:
      firstSeen - The value for firstSeen
      Returns:
      this builder for chained invocation
    • firstSeen

      @CanIgnoreReturnValue @JsonPropertyDescription("The time that this Infrastructure was first seen performing malicious activities.") public final Infrastructure.Builder firstSeen(Optional<? extends StixInstant> firstSeen)
      Initializes the optional value firstSeen to firstSeen.
      Parameters:
      firstSeen - The value for firstSeen
      Returns:
      this builder for use in a chained invocation
    • lastSeen

      @CanIgnoreReturnValue public final Infrastructure.Builder lastSeen(StixInstant lastSeen)
      Initializes the optional value lastSeen to lastSeen.
      Parameters:
      lastSeen - The value for lastSeen
      Returns:
      this builder for chained invocation
    • lastSeen

      @CanIgnoreReturnValue @JsonPropertyDescription("The time that this Infrastructure was last seen performing malicious activities.") public final Infrastructure.Builder lastSeen(Optional<? extends StixInstant> lastSeen)
      Initializes the optional value lastSeen to lastSeen.
      Parameters:
      lastSeen - The value for lastSeen
      Returns:
      this builder for use in a chained invocation
    • addRelationship

      @CanIgnoreReturnValue public final Infrastructure.Builder addRelationship(@Nullable RelationshipSro element)
      Adds one element to relationships set.
      Parameters:
      element - A relationships element
      Returns:
      this builder for use in a chained invocation
    • addRelationships

      @CanIgnoreReturnValue public final Infrastructure.Builder addRelationships(RelationshipSro... elements)
      Adds elements to relationships set.
      Parameters:
      elements - An array of relationships elements
      Returns:
      this builder for use in a chained invocation
    • relationships

      @CanIgnoreReturnValue public final Infrastructure.Builder relationships(Iterable<? extends RelationshipSro> elements)
      Sets or replaces all elements for relationships set.
      Parameters:
      elements - An iterable of relationships elements
      Returns:
      this builder for use in a chained invocation
    • addAllRelationships

      @CanIgnoreReturnValue public final Infrastructure.Builder addAllRelationships(Iterable<? extends RelationshipSro> elements)
      Adds elements to relationships set.
      Parameters:
      elements - An iterable of relationships elements
      Returns:
      this builder for use in a chained invocation
    • hydrated

      @CanIgnoreReturnValue public final Infrastructure.Builder hydrated(boolean hydrated)
      Initializes the value for the hydrated attribute.

      If not set, this attribute will have a default value as returned by the initializer of hydrated.

      Parameters:
      hydrated - The value for hydrated
      Returns:
      this builder for use in a chained invocation
    • type

      @CanIgnoreReturnValue @JsonPropertyDescription("The type property identifies the type of STIX Object (SDO, Relationship Object, etc). The value of the type field MUST be one of the types defined by a STIX Object (e.g., indicator).") public final Infrastructure.Builder type(String type)
      Initializes the value for the type attribute.
      Parameters:
      type - The value for type (can be null)
      Returns:
      this builder for use in a chained invocation
    • id

      @CanIgnoreReturnValue @JsonPropertyDescription("Represents identifiers across the CTI specifications. The format consists of the name of the top-level object being identified, followed by two dashes (--), followed by a UUIDv4.") public final Infrastructure.Builder id(String id)
      Initializes the value for the id attribute.
      Parameters:
      id - The value for id (can be null)
      Returns:
      this builder for use in a chained invocation
    • createdByRef

      @CanIgnoreReturnValue public final Infrastructure.Builder createdByRef(IdentitySdo createdByRef)
      Initializes the optional value createdByRef to createdByRef.
      Parameters:
      createdByRef - The value for createdByRef
      Returns:
      this builder for chained invocation
    • createdByRef

      @CanIgnoreReturnValue @JsonPropertyDescription("Represents identifiers across the CTI specifications. The format consists of the name of the top-level object being identified, followed by two dashes (--), followed by a UUIDv4.") public final Infrastructure.Builder createdByRef(Optional<? extends IdentitySdo> createdByRef)
      Initializes the optional value createdByRef to createdByRef.
      Parameters:
      createdByRef - The value for createdByRef
      Returns:
      this builder for use in a chained invocation
    • created

      @CanIgnoreReturnValue @JsonPropertyDescription("The created property represents the time at which the first version of this object was created. The timstamp value MUST be precise to the nearest millisecond.") public final Infrastructure.Builder created(StixInstant created)
      Initializes the value for the created attribute.

      If not set, this attribute will have a default value as returned by the initializer of created.

      Parameters:
      created - The value for created
      Returns:
      this builder for use in a chained invocation
    • lang

      @CanIgnoreReturnValue public final Infrastructure.Builder lang(String lang)
      Initializes the optional value lang to lang.
      Parameters:
      lang - The value for lang
      Returns:
      this builder for chained invocation
    • lang

      @CanIgnoreReturnValue @JsonPropertyDescription("Identifies the language of the text content in this object using ISO 639-2 language codes.") public final Infrastructure.Builder lang(Optional<String> lang)
      Initializes the optional value lang to lang.
      Parameters:
      lang - The value for lang
      Returns:
      this builder for use in a chained invocation
    • addExternalReference

      @CanIgnoreReturnValue public final Infrastructure.Builder addExternalReference(@Nullable ExternalReferenceType element)
      Adds one element to externalReferences set.
      Parameters:
      element - A externalReferences element
      Returns:
      this builder for use in a chained invocation
    • addExternalReferences

      @CanIgnoreReturnValue public final Infrastructure.Builder addExternalReferences(ExternalReferenceType... elements)
      Adds elements to externalReferences set.
      Parameters:
      elements - An array of externalReferences elements
      Returns:
      this builder for use in a chained invocation
    • externalReferences

      @CanIgnoreReturnValue @JsonPropertyDescription("A list of external references which refers to non-STIX information.") public final Infrastructure.Builder externalReferences(Iterable<? extends ExternalReferenceType> elements)
      Sets or replaces all elements for externalReferences set.
      Parameters:
      elements - An iterable of externalReferences elements
      Returns:
      this builder for use in a chained invocation
    • addAllExternalReferences

      @CanIgnoreReturnValue public final Infrastructure.Builder addAllExternalReferences(Iterable<? extends ExternalReferenceType> elements)
      Adds elements to externalReferences set.
      Parameters:
      elements - An iterable of externalReferences elements
      Returns:
      this builder for use in a chained invocation
    • addObjectMarkingRef

      @CanIgnoreReturnValue public final Infrastructure.Builder addObjectMarkingRef(@Nullable MarkingDefinitionDm element)
      Adds one element to objectMarkingRefs set.
      Parameters:
      element - A objectMarkingRefs element
      Returns:
      this builder for use in a chained invocation
    • addObjectMarkingRefs

      @CanIgnoreReturnValue public final Infrastructure.Builder addObjectMarkingRefs(MarkingDefinitionDm... elements)
      Adds elements to objectMarkingRefs set.
      Parameters:
      elements - An array of objectMarkingRefs elements
      Returns:
      this builder for use in a chained invocation
    • objectMarkingRefs

      @CanIgnoreReturnValue @JsonPropertyDescription("The list of marking-definition objects to be applied to this object.") public final Infrastructure.Builder objectMarkingRefs(Iterable<? extends MarkingDefinitionDm> elements)
      Sets or replaces all elements for objectMarkingRefs set.
      Parameters:
      elements - An iterable of objectMarkingRefs elements
      Returns:
      this builder for use in a chained invocation
    • addAllObjectMarkingRefs

      @CanIgnoreReturnValue public final Infrastructure.Builder addAllObjectMarkingRefs(Iterable<? extends MarkingDefinitionDm> elements)
      Adds elements to objectMarkingRefs set.
      Parameters:
      elements - An iterable of objectMarkingRefs elements
      Returns:
      this builder for use in a chained invocation
    • addGranularMarking

      @CanIgnoreReturnValue public final Infrastructure.Builder addGranularMarking(@Nullable GranularMarkingDm element)
      Adds one element to granularMarkings set.
      Parameters:
      element - A granularMarkings element
      Returns:
      this builder for use in a chained invocation
    • addGranularMarkings

      @CanIgnoreReturnValue public final Infrastructure.Builder addGranularMarkings(GranularMarkingDm... elements)
      Adds elements to granularMarkings set.
      Parameters:
      elements - An array of granularMarkings elements
      Returns:
      this builder for use in a chained invocation
    • granularMarkings

      @CanIgnoreReturnValue @JsonPropertyDescription("The set of granular markings that apply to this object.") public final Infrastructure.Builder granularMarkings(Iterable<? extends GranularMarkingDm> elements)
      Sets or replaces all elements for granularMarkings set.
      Parameters:
      elements - An iterable of granularMarkings elements
      Returns:
      this builder for use in a chained invocation
    • addAllGranularMarkings

      @CanIgnoreReturnValue public final Infrastructure.Builder addAllGranularMarkings(Iterable<? extends GranularMarkingDm> elements)
      Adds elements to granularMarkings set.
      Parameters:
      elements - An iterable of granularMarkings elements
      Returns:
      this builder for use in a chained invocation
    • putCustomProperty

      @CanIgnoreReturnValue public final Infrastructure.Builder putCustomProperty(String key, Object value)
      Put one entry to the customProperties map.
      Parameters:
      key - The key in the customProperties map
      value - The associated value in the customProperties map
      Returns:
      this builder for use in a chained invocation
    • putCustomProperty

      @CanIgnoreReturnValue public final Infrastructure.Builder putCustomProperty(Map.Entry<String,? extends Object> entry)
      Put one entry to the customProperties map. Nulls are not permitted
      Parameters:
      entry - The key and value entry
      Returns:
      this builder for use in a chained invocation
    • customProperties

      @CanIgnoreReturnValue public final Infrastructure.Builder customProperties(Map<String,? extends Object> entries)
      Sets or replaces all mappings from the specified map as entries for the customProperties map. Nulls are not permitted
      Parameters:
      entries - The entries that will be added to the customProperties map
      Returns:
      this builder for use in a chained invocation
    • putAllCustomProperties

      @CanIgnoreReturnValue public final Infrastructure.Builder putAllCustomProperties(Map<String,? extends Object> entries)
      Put all mappings from the specified map as entries to customProperties map. Nulls are not permitted
      Parameters:
      entries - The entries that will be added to the customProperties map
      Returns:
      this builder for use in a chained invocation
    • addLabel

      @CanIgnoreReturnValue public final Infrastructure.Builder addLabel(@Nullable String element)
      Adds one element to labels set.
      Parameters:
      element - A labels element
      Returns:
      this builder for use in a chained invocation
    • addLabels

      @CanIgnoreReturnValue public final Infrastructure.Builder addLabels(String... elements)
      Adds elements to labels set.
      Parameters:
      elements - An array of labels elements
      Returns:
      this builder for use in a chained invocation
    • labels

      @CanIgnoreReturnValue @JsonPropertyDescription("The labels property specifies a set of classifications.") public final Infrastructure.Builder labels(Iterable<String> elements)
      Sets or replaces all elements for labels set.
      Parameters:
      elements - An iterable of labels elements
      Returns:
      this builder for use in a chained invocation
    • addAllLabels

      @CanIgnoreReturnValue public final Infrastructure.Builder addAllLabels(Iterable<String> elements)
      Adds elements to labels set.
      Parameters:
      elements - An iterable of labels elements
      Returns:
      this builder for use in a chained invocation
    • modified

      @CanIgnoreReturnValue @JsonPropertyDescription("The modified property represents the time that this particular version of the object was created. The timstamp value MUST be precise to the nearest millisecond.") public final Infrastructure.Builder modified(StixInstant modified)
      Initializes the value for the modified attribute.

      If not set, this attribute will have a default value as returned by the initializer of modified.

      Parameters:
      modified - The value for modified
      Returns:
      this builder for use in a chained invocation
    • revoked

      @CanIgnoreReturnValue @JsonPropertyDescription("The revoked property indicates whether the object has been revoked.") public final Infrastructure.Builder revoked(StixBoolean revoked)
      Initializes the value for the revoked attribute.

      If not set, this attribute will have a default value as returned by the initializer of revoked.

      Parameters:
      revoked - The value for revoked
      Returns:
      this builder for use in a chained invocation
    • build

      public Infrastructure build()
      Builds a new Infrastructure.
      Returns:
      An immutable instance of Infrastructure
      Throws:
      IllegalStateException - if any required attributes are missing