Class UserAccount.Builder

java.lang.Object
security.whisper.javastix.coo.objects.UserAccount.Builder
Enclosing class:
UserAccount

@NotThreadSafe public static final class UserAccount.Builder extends Object
Builds instances of type UserAccount. 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 UserAccount.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 UserAccount.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 UserAccount.Builder from(UserAccountCoo instance)
      Fill a builder with attribute values from the provided security.whisper.javastix.coo.objects.UserAccountCoo instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies the identifier of the account.") public final UserAccount.Builder userId(String userId)
      Initializes the value for the userId attribute.
      Parameters:
      userId - The value for userId (can be null)
      Returns:
      this builder for use in a chained invocation
    • accountLogin

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies the account login string, used in cases where the user_id property specifies something other than what a user would type when they login.") public final UserAccount.Builder accountLogin(Optional<String> accountLogin)
      Initializes the optional value accountLogin to accountLogin.
      Parameters:
      accountLogin - The value for accountLogin
      Returns:
      this builder for use in a chained invocation
    • accountType

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies the type of the account. This is an open vocabulary and values SHOULD come from the account-type-ov vocabulary.") public final UserAccount.Builder accountType(Optional<String> accountType)
      Initializes the optional value accountType to accountType.
      Parameters:
      accountType - The value for accountType
      Returns:
      this builder for use in a chained invocation
    • displayName

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies the display name of the account, to be shown in user interfaces, if applicable.") public final UserAccount.Builder displayName(Optional<String> displayName)
      Initializes the optional value displayName to displayName.
      Parameters:
      displayName - The value for displayName
      Returns:
      this builder for use in a chained invocation
    • isServiceAccount

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Indicates that the account is associated with a network service or system process (daemon), not a specific individual.") public final UserAccount.Builder isServiceAccount(Optional<Boolean> isServiceAccount)
      Initializes the optional value isServiceAccount to isServiceAccount.
      Parameters:
      isServiceAccount - The value for isServiceAccount
      Returns:
      this builder for use in a chained invocation
    • isPrivileged

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies that the account has elevated privileges (i.e., in the case of root on Unix or the Windows Administrator account).") public final UserAccount.Builder isPrivileged(Optional<Boolean> isPrivileged)
      Initializes the optional value isPrivileged to isPrivileged.
      Parameters:
      isPrivileged - The value for isPrivileged
      Returns:
      this builder for use in a chained invocation
    • isCanEscalatePrivs

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies that the account has the ability to escalate privileges (i.e., in the case of sudo on Unix or a Windows Domain Admin account).") public final UserAccount.Builder isCanEscalatePrivs(Optional<Boolean> isCanEscalatePrivs)
      Initializes the optional value isCanEscalatePrivs to isCanEscalatePrivs.
      Parameters:
      isCanEscalatePrivs - The value for isCanEscalatePrivs
      Returns:
      this builder for use in a chained invocation
    • isDisabled

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies if the account is disabled.") public final UserAccount.Builder isDisabled(Optional<Boolean> isDisabled)
      Initializes the optional value isDisabled to isDisabled.
      Parameters:
      isDisabled - The value for isDisabled
      Returns:
      this builder for use in a chained invocation
    • accountCreated

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies when the account was created.") public final UserAccount.Builder accountCreated(Optional<? extends StixInstant> accountCreated)
      Initializes the optional value accountCreated to accountCreated.
      Parameters:
      accountCreated - The value for accountCreated
      Returns:
      this builder for use in a chained invocation
    • accountExpires

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies the expiration date of the account.") public final UserAccount.Builder accountExpires(Optional<? extends StixInstant> accountExpires)
      Initializes the optional value accountExpires to accountExpires.
      Parameters:
      accountExpires - The value for accountExpires
      Returns:
      this builder for use in a chained invocation
    • passwordLastChanged

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies when the account password was last changed.") public final UserAccount.Builder passwordLastChanged(Optional<? extends StixInstant> passwordLastChanged)
      Initializes the optional value passwordLastChanged to passwordLastChanged.
      Parameters:
      passwordLastChanged - The value for passwordLastChanged
      Returns:
      this builder for use in a chained invocation
    • accountFirstLogin

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies when the account was first accessed.") public final UserAccount.Builder accountFirstLogin(Optional<? extends StixInstant> accountFirstLogin)
      Initializes the optional value accountFirstLogin to accountFirstLogin.
      Parameters:
      accountFirstLogin - The value for accountFirstLogin
      Returns:
      this builder for use in a chained invocation
    • accountLastLogin

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies when the account was last accessed.") public final UserAccount.Builder accountLastLogin(Optional<? extends StixInstant> accountLastLogin)
      Initializes the optional value accountLastLogin to accountLastLogin.
      Parameters:
      accountLastLogin - The value for accountLastLogin
      Returns:
      this builder for use in a chained invocation
    • type

      @CanIgnoreReturnValue public final UserAccount.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
    • addExtension

      @CanIgnoreReturnValue public final UserAccount.Builder addExtension(@Nullable CyberObservableExtension element)
      Adds one element to extensions set.
      Parameters:
      element - A extensions element
      Returns:
      this builder for use in a chained invocation
    • addExtensions

      @CanIgnoreReturnValue public final UserAccount.Builder addExtensions(CyberObservableExtension... elements)
      Adds elements to extensions set.
      Parameters:
      elements - An array of extensions elements
      Returns:
      this builder for use in a chained invocation
    • extensions

      @CanIgnoreReturnValue @JsonPropertyDescription("Specifies any extensions of the object, as a dictionary.") public final UserAccount.Builder extensions(Iterable<? extends CyberObservableExtension> elements)
      Sets or replaces all elements for extensions set.
      Parameters:
      elements - An iterable of extensions elements
      Returns:
      this builder for use in a chained invocation
    • addAllExtensions

      @CanIgnoreReturnValue public final UserAccount.Builder addAllExtensions(Iterable<? extends CyberObservableExtension> elements)
      Adds elements to extensions set.
      Parameters:
      elements - An iterable of extensions elements
      Returns:
      this builder for use in a chained invocation
    • observableObjectKey

      @CanIgnoreReturnValue public final UserAccount.Builder observableObjectKey(String observableObjectKey)
      Initializes the value for the observableObjectKey attribute.

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

      Parameters:
      observableObjectKey - The value for observableObjectKey
      Returns:
      this builder for use in a chained invocation
    • defanged

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

      @CanIgnoreReturnValue @JsonPropertyDescription("Indicates whether the data contained in the SCO has been defanged.") public final UserAccount.Builder defanged(Optional<Boolean> defanged)
      Initializes the optional value defanged to defanged.
      Parameters:
      defanged - The value for defanged
      Returns:
      this builder for use in a chained invocation
    • putCustomProperty

      @CanIgnoreReturnValue public final UserAccount.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 UserAccount.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 UserAccount.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 UserAccount.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
    • addObjectMarkingRef

      @CanIgnoreReturnValue public final UserAccount.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 UserAccount.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 public final UserAccount.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 UserAccount.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 UserAccount.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 UserAccount.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 public final UserAccount.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 UserAccount.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
    • hydrated

      @CanIgnoreReturnValue public final UserAccount.Builder hydrated(boolean hydrated)
      Initializes the value for the hydrated attribute.
      Parameters:
      hydrated - The value for hydrated
      Returns:
      this builder for use in a chained invocation
    • toJsonString

      @CanIgnoreReturnValue public final UserAccount.Builder toJsonString(String toJsonString)
      Initializes the value for the toJsonString attribute.
      Parameters:
      toJsonString - The value for toJsonString (can be null)
      Returns:
      this builder for use in a chained invocation
    • build

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