Class MalwareAnalysis

java.lang.Object
security.whisper.javastix.sdo.objects.MalwareAnalysis
All Implemented Interfaces:
Serializable, BundleableObject, Stix, StixCommonProperties, StixCustomProperties, StixLabels, StixModified, StixRevoked, StixSpecVersion, DomainObject, MalwareAnalysisSdo, SdoDefaultValidator

@ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @Immutable @CheckReturnValue @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public final class MalwareAnalysis extends Object implements MalwareAnalysisSdo
malware-analysis

A Malware Analysis captures the results of a particular analysis performed on a malware instance or family. Each result captures the analysis product (including version) that was used to analyze the malware along with the result of that analysis.

See Also:
  • Method Details

    • getProduct

      @JsonPropertyDescription("The name of the analysis product that was used to perform the analysis.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public String getProduct()
      Specified by:
      getProduct in interface MalwareAnalysisSdo
      Returns:
      The value of the product attribute
    • getVersion

      @JsonPropertyDescription("The version of the analysis product that was used to perform the analysis.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getVersion()
      Specified by:
      getVersion in interface MalwareAnalysisSdo
      Returns:
      The value of the version attribute
    • getHostVmRef

      @JsonPropertyDescription("A reference to a SCO Software object for the VM that hosted the malware during the analysis.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getHostVmRef()
      Specified by:
      getHostVmRef in interface MalwareAnalysisSdo
      Returns:
      The value of the hostVmRef attribute
    • getOperatingSystemRef

      @JsonPropertyDescription("A reference to a SCO Software object for the operating system used for the analysis VM.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getOperatingSystemRef()
      Specified by:
      getOperatingSystemRef in interface MalwareAnalysisSdo
      Returns:
      The value of the operatingSystemRef attribute
    • getInstalledSoftwareRefs

      @JsonPropertyDescription("A list of references to SCO Software objects for the operating system software installed on the analysis VM.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<String> getInstalledSoftwareRefs()
      Specified by:
      getInstalledSoftwareRefs in interface MalwareAnalysisSdo
      Returns:
      The value of the installedSoftwareRefs attribute
    • getConfigurationVersion

      @JsonPropertyDescription("The version of the configuration used for the analysis.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getConfigurationVersion()
      Specified by:
      getConfigurationVersion in interface MalwareAnalysisSdo
      Returns:
      The value of the configurationVersion attribute
    • getModule

      @JsonPropertyDescription("The name of the specific analysis module that was used, if different from the product.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getModule()
      Specified by:
      getModule in interface MalwareAnalysisSdo
      Returns:
      The value of the module attribute
    • getAnalysisEngineVersion

      @JsonPropertyDescription("The version of the analysis engine or runtime environment.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getAnalysisEngineVersion()
      Specified by:
      getAnalysisEngineVersion in interface MalwareAnalysisSdo
      Returns:
      The value of the analysisEngineVersion attribute
    • getAnalysisDefinitionVersion

      @JsonPropertyDescription("The version of the analysis definitions used (e.g., virus definition version).") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getAnalysisDefinitionVersion()
      Specified by:
      getAnalysisDefinitionVersion in interface MalwareAnalysisSdo
      Returns:
      The value of the analysisDefinitionVersion attribute
    • getSubmitted

      @JsonPropertyDescription("The date and time that the malware sample was submitted for analysis.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<StixInstant> getSubmitted()
      Specified by:
      getSubmitted in interface MalwareAnalysisSdo
      Returns:
      The value of the submitted attribute
    • getAnalysisStarted

      @JsonPropertyDescription("The date and time that the malware analysis started.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<StixInstant> getAnalysisStarted()
      Specified by:
      getAnalysisStarted in interface MalwareAnalysisSdo
      Returns:
      The value of the analysisStarted attribute
    • getAnalysisEnded

      @JsonPropertyDescription("The date and time that the malware analysis ended.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<StixInstant> getAnalysisEnded()
      Specified by:
      getAnalysisEnded in interface MalwareAnalysisSdo
      Returns:
      The value of the analysisEnded attribute
    • getAvResult

      @JsonPropertyDescription("The result of the anti-virus analysis. Open vocabulary - malware-av-result-ov") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getAvResult()
      Specified by:
      getAvResult in interface MalwareAnalysisSdo
      Returns:
      The value of the avResult attribute
    • getAnalysisScoRefs

      @JsonPropertyDescription("A list of references to SCOs that were captured during the analysis process.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<String> getAnalysisScoRefs()
      Specified by:
      getAnalysisScoRefs in interface MalwareAnalysisSdo
      Returns:
      The value of the analysisScoRefs attribute
    • getSampleRef

      @JsonPropertyDescription("A reference to the SCO file, malware or artifact object that was analyzed.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getSampleRef()
      Specified by:
      getSampleRef in interface MalwareAnalysisSdo
      Returns:
      The value of the sampleRef attribute
    • getRelationships

      @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<RelationshipSro> getRelationships()
      This is used with the SROs. The SRO interface enforces what relationships can be created. The Relationships can then be stored in the Domain object if they choose. Otherwise you would typically add these Relationship SROs that are specific to SDOs, can be grabbed during bundle creation.
      Specified by:
      getRelationships in interface DomainObject
      Returns:
      Set of Relationship SROs
    • getHydrated

      @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public boolean getHydrated()
      Dictates if the object is hydrated. Hydration is defined as if the Object has only a "ID" or has been properly hydrated with the expected required fields
      Specified by:
      getHydrated in interface BundleableObject
      Specified by:
      getHydrated in interface StixCommonProperties
      Returns:
      boolean
    • getType

      @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).") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public String getType()
      Specified by:
      getType in interface BundleableObject
      Specified by:
      getType in interface StixCommonProperties
      Returns:
      The value of the type attribute
    • getId

      @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.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public String getId()
      Specified by:
      getId in interface BundleableObject
      Specified by:
      getId in interface StixCommonProperties
      Returns:
      The value of the id attribute
    • getCreatedByRef

      @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.") @Redactable(useMask=true, redactionMask="identity--__REDACTED__") public Optional<IdentitySdo> getCreatedByRef()
      Specified by:
      getCreatedByRef in interface StixCommonProperties
      Returns:
      The value of the createdByRef attribute
    • getCreated

      @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.") @Redactable(useMask=true, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public StixInstant getCreated()
      Specified by:
      getCreated in interface StixCommonProperties
      Returns:
      The value of the created attribute
    • getLang

      @JsonPropertyDescription("Identifies the language of the text content in this object using ISO 639-2 language codes.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getLang()
      Specified by:
      getLang in interface StixCommonProperties
      Returns:
      The value of the lang attribute
    • getExternalReferences

      @JsonPropertyDescription("A list of external references which refers to non-STIX information.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<ExternalReferenceType> getExternalReferences()
      Specified by:
      getExternalReferences in interface StixCommonProperties
      Returns:
      The value of the externalReferences attribute
    • getObjectMarkingRefs

      @JsonPropertyDescription("The list of marking-definition objects to be applied to this object.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<MarkingDefinitionDm> getObjectMarkingRefs()
      Specified by:
      getObjectMarkingRefs in interface BundleableObject
      Specified by:
      getObjectMarkingRefs in interface StixCommonProperties
      Returns:
      The value of the objectMarkingRefs attribute
    • getGranularMarkings

      @JsonPropertyDescription("The set of granular markings that apply to this object.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<GranularMarkingDm> getGranularMarkings()
      Specified by:
      getGranularMarkings in interface BundleableObject
      Specified by:
      getGranularMarkings in interface StixCommonProperties
      Returns:
      The value of the granularMarkings attribute
    • getCustomProperties

      @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableMap<String,Object> getCustomProperties()
      Custom Properties for STIX Objects. Any object that supports custom properties will have a validation of the custom property prefix (typically "x_"). If the additional property in the JSON does not meet the StartsWith condition, then the JSON will be rejected.
      Specified by:
      getCustomProperties in interface StixCustomProperties
      Returns:
      Map of custom properties Map<String, Object>
    • getLabels

      @JsonPropertyDescription("The labels property specifies a set of classifications.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<String> getLabels()
      Specified by:
      getLabels in interface StixLabels
      Returns:
      The value of the labels attribute
    • getModified

      @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.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public StixInstant getModified()
      Specified by:
      getModified in interface StixModified
      Returns:
      The value of the modified attribute
    • getRevoked

      @JsonPropertyDescription("The revoked property indicates whether the object has been revoked.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public StixBoolean getRevoked()
      Specified by:
      getRevoked in interface StixRevoked
      Returns:
      The value of the revoked attribute
    • withProduct

      public final MalwareAnalysis withProduct(String value)
      Copy the current immutable object by setting a value for the product attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for product (can be null)
      Returns:
      A modified copy of the this object
    • withVersion

      public final MalwareAnalysis withVersion(String value)
      Copy the current immutable object by setting a present value for the optional version attribute.
      Parameters:
      value - The value for version
      Returns:
      A modified copy of this object
    • withVersion

      public final MalwareAnalysis withVersion(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the version attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for version
      Returns:
      A modified copy of this object
    • withHostVmRef

      public final MalwareAnalysis withHostVmRef(String value)
      Copy the current immutable object by setting a present value for the optional hostVmRef attribute.
      Parameters:
      value - The value for hostVmRef
      Returns:
      A modified copy of this object
    • withHostVmRef

      public final MalwareAnalysis withHostVmRef(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the hostVmRef attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for hostVmRef
      Returns:
      A modified copy of this object
    • withOperatingSystemRef

      public final MalwareAnalysis withOperatingSystemRef(String value)
      Copy the current immutable object by setting a present value for the optional operatingSystemRef attribute.
      Parameters:
      value - The value for operatingSystemRef
      Returns:
      A modified copy of this object
    • withOperatingSystemRef

      public final MalwareAnalysis withOperatingSystemRef(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the operatingSystemRef attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for operatingSystemRef
      Returns:
      A modified copy of this object
    • withInstalledSoftwareRefs

      public final MalwareAnalysis withInstalledSoftwareRefs(String... elements)
      Copy the current immutable object with elements that replace the content of installedSoftwareRefs.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withInstalledSoftwareRefs

      public final MalwareAnalysis withInstalledSoftwareRefs(Iterable<String> elements)
      Copy the current immutable object with elements that replace the content of installedSoftwareRefs. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of installedSoftwareRefs elements to set
      Returns:
      A modified copy of this object
    • withConfigurationVersion

      public final MalwareAnalysis withConfigurationVersion(String value)
      Copy the current immutable object by setting a present value for the optional configurationVersion attribute.
      Parameters:
      value - The value for configurationVersion
      Returns:
      A modified copy of this object
    • withConfigurationVersion

      public final MalwareAnalysis withConfigurationVersion(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the configurationVersion attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for configurationVersion
      Returns:
      A modified copy of this object
    • withModule

      public final MalwareAnalysis withModule(String value)
      Copy the current immutable object by setting a present value for the optional module attribute.
      Parameters:
      value - The value for module
      Returns:
      A modified copy of this object
    • withModule

      public final MalwareAnalysis withModule(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the module attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for module
      Returns:
      A modified copy of this object
    • withAnalysisEngineVersion

      public final MalwareAnalysis withAnalysisEngineVersion(String value)
      Copy the current immutable object by setting a present value for the optional analysisEngineVersion attribute.
      Parameters:
      value - The value for analysisEngineVersion
      Returns:
      A modified copy of this object
    • withAnalysisEngineVersion

      public final MalwareAnalysis withAnalysisEngineVersion(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the analysisEngineVersion attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for analysisEngineVersion
      Returns:
      A modified copy of this object
    • withAnalysisDefinitionVersion

      public final MalwareAnalysis withAnalysisDefinitionVersion(String value)
      Copy the current immutable object by setting a present value for the optional analysisDefinitionVersion attribute.
      Parameters:
      value - The value for analysisDefinitionVersion
      Returns:
      A modified copy of this object
    • withAnalysisDefinitionVersion

      public final MalwareAnalysis withAnalysisDefinitionVersion(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the analysisDefinitionVersion attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for analysisDefinitionVersion
      Returns:
      A modified copy of this object
    • withSubmitted

      public final MalwareAnalysis withSubmitted(StixInstant value)
      Copy the current immutable object by setting a present value for the optional submitted attribute.
      Parameters:
      value - The value for submitted
      Returns:
      A modified copy of this object
    • withSubmitted

      public final MalwareAnalysis withSubmitted(Optional<? extends StixInstant> optional)
      Copy the current immutable object by setting an optional value for the submitted attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for submitted
      Returns:
      A modified copy of this object
    • withAnalysisStarted

      public final MalwareAnalysis withAnalysisStarted(StixInstant value)
      Copy the current immutable object by setting a present value for the optional analysisStarted attribute.
      Parameters:
      value - The value for analysisStarted
      Returns:
      A modified copy of this object
    • withAnalysisStarted

      public final MalwareAnalysis withAnalysisStarted(Optional<? extends StixInstant> optional)
      Copy the current immutable object by setting an optional value for the analysisStarted attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for analysisStarted
      Returns:
      A modified copy of this object
    • withAnalysisEnded

      public final MalwareAnalysis withAnalysisEnded(StixInstant value)
      Copy the current immutable object by setting a present value for the optional analysisEnded attribute.
      Parameters:
      value - The value for analysisEnded
      Returns:
      A modified copy of this object
    • withAnalysisEnded

      public final MalwareAnalysis withAnalysisEnded(Optional<? extends StixInstant> optional)
      Copy the current immutable object by setting an optional value for the analysisEnded attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for analysisEnded
      Returns:
      A modified copy of this object
    • withAvResult

      public final MalwareAnalysis withAvResult(String value)
      Copy the current immutable object by setting a present value for the optional avResult attribute.
      Parameters:
      value - The value for avResult
      Returns:
      A modified copy of this object
    • withAvResult

      public final MalwareAnalysis withAvResult(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the avResult attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for avResult
      Returns:
      A modified copy of this object
    • withAnalysisScoRefs

      public final MalwareAnalysis withAnalysisScoRefs(String... elements)
      Copy the current immutable object with elements that replace the content of analysisScoRefs.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withAnalysisScoRefs

      public final MalwareAnalysis withAnalysisScoRefs(Iterable<String> elements)
      Copy the current immutable object with elements that replace the content of analysisScoRefs. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of analysisScoRefs elements to set
      Returns:
      A modified copy of this object
    • withSampleRef

      public final MalwareAnalysis withSampleRef(String value)
      Copy the current immutable object by setting a present value for the optional sampleRef attribute.
      Parameters:
      value - The value for sampleRef
      Returns:
      A modified copy of this object
    • withSampleRef

      public final MalwareAnalysis withSampleRef(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the sampleRef attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for sampleRef
      Returns:
      A modified copy of this object
    • withRelationships

      public final MalwareAnalysis withRelationships(RelationshipSro... elements)
      Copy the current immutable object with elements that replace the content of relationships.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withRelationships

      public final MalwareAnalysis withRelationships(Iterable<? extends RelationshipSro> elements)
      Copy the current immutable object with elements that replace the content of relationships. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of relationships elements to set
      Returns:
      A modified copy of this object
    • withHydrated

      public final MalwareAnalysis withHydrated(boolean value)
      Copy the current immutable object by setting a value for the hydrated attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for hydrated
      Returns:
      A modified copy of the this object
    • withType

      public final MalwareAnalysis withType(String value)
      Copy the current immutable object by setting a value for the type attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for type (can be null)
      Returns:
      A modified copy of the this object
    • withId

      public final MalwareAnalysis withId(String value)
      Copy the current immutable object by setting a value for the id attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for id (can be null)
      Returns:
      A modified copy of the this object
    • withCreatedByRef

      public final MalwareAnalysis withCreatedByRef(IdentitySdo value)
      Copy the current immutable object by setting a present value for the optional createdByRef attribute.
      Parameters:
      value - The value for createdByRef
      Returns:
      A modified copy of this object
    • withCreatedByRef

      public final MalwareAnalysis withCreatedByRef(Optional<? extends IdentitySdo> optional)
      Copy the current immutable object by setting an optional value for the createdByRef attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for createdByRef
      Returns:
      A modified copy of this object
    • withCreated

      public final MalwareAnalysis withCreated(StixInstant value)
      Copy the current immutable object by setting a value for the created attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for created
      Returns:
      A modified copy of the this object
    • withLang

      public final MalwareAnalysis withLang(String value)
      Copy the current immutable object by setting a present value for the optional lang attribute.
      Parameters:
      value - The value for lang
      Returns:
      A modified copy of this object
    • withLang

      public final MalwareAnalysis withLang(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the lang attribute. An equality check is used on inner nullable value to prevent copying of the same value by returning this.
      Parameters:
      optional - A value for lang
      Returns:
      A modified copy of this object
    • withExternalReferences

      public final MalwareAnalysis withExternalReferences(ExternalReferenceType... elements)
      Copy the current immutable object with elements that replace the content of externalReferences.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withExternalReferences

      public final MalwareAnalysis withExternalReferences(Iterable<? extends ExternalReferenceType> elements)
      Copy the current immutable object with elements that replace the content of externalReferences. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of externalReferences elements to set
      Returns:
      A modified copy of this object
    • withObjectMarkingRefs

      public final MalwareAnalysis withObjectMarkingRefs(MarkingDefinitionDm... elements)
      Copy the current immutable object with elements that replace the content of objectMarkingRefs.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withObjectMarkingRefs

      public final MalwareAnalysis withObjectMarkingRefs(Iterable<? extends MarkingDefinitionDm> elements)
      Copy the current immutable object with elements that replace the content of objectMarkingRefs. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of objectMarkingRefs elements to set
      Returns:
      A modified copy of this object
    • withGranularMarkings

      public final MalwareAnalysis withGranularMarkings(GranularMarkingDm... elements)
      Copy the current immutable object with elements that replace the content of granularMarkings.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withGranularMarkings

      public final MalwareAnalysis withGranularMarkings(Iterable<? extends GranularMarkingDm> elements)
      Copy the current immutable object with elements that replace the content of granularMarkings. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of granularMarkings elements to set
      Returns:
      A modified copy of this object
    • withCustomProperties

      public final MalwareAnalysis withCustomProperties(Map<String,? extends Object> entries)
      Copy the current immutable object by replacing the customProperties map with the specified map. Nulls are not permitted as keys or values. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      entries - The entries to be added to the customProperties map
      Returns:
      A modified copy of this object
    • withLabels

      public final MalwareAnalysis withLabels(String... elements)
      Copy the current immutable object with elements that replace the content of labels.
      Parameters:
      elements - The elements to set
      Returns:
      A modified copy of this object
    • withLabels

      public final MalwareAnalysis withLabels(Iterable<String> elements)
      Copy the current immutable object with elements that replace the content of labels. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      elements - An iterable of labels elements to set
      Returns:
      A modified copy of this object
    • withModified

      public final MalwareAnalysis withModified(StixInstant value)
      Copy the current immutable object by setting a value for the modified attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for modified
      Returns:
      A modified copy of the this object
    • withRevoked

      public final MalwareAnalysis withRevoked(StixBoolean value)
      Copy the current immutable object by setting a value for the revoked attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for revoked
      Returns:
      A modified copy of the this object
    • equals

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of MalwareAnalysis that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: product, version, hostVmRef, operatingSystemRef, installedSoftwareRefs, configurationVersion, module, analysisEngineVersion, analysisDefinitionVersion, submitted, analysisStarted, analysisEnded, avResult, analysisScoRefs, sampleRef, relationships, hydrated, type, id, createdByRef, created, lang, externalReferences, objectMarkingRefs, granularMarkings, customProperties, labels, modified, revoked.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value MalwareAnalysis with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • toJsonString

      @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public String toJsonString()

      Returns a lazily initialized value of the toJsonString attribute. Initialized once and only once and stored for subsequent access with proper synchronization.

      Specified by:
      toJsonString in interface BundleableObject
      Specified by:
      toJsonString in interface StixCommonProperties
      Returns:
      A lazily initialized value of the toJsonString attribute
    • getSpecVersion

      @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public String getSpecVersion()
      Helper attribute to track the STIX Spec Version that was used for this object.

      Returns a lazily initialized value of the specVersion attribute. Initialized once and only once and stored for subsequent access with proper synchronization.

      Specified by:
      getSpecVersion in interface StixSpecVersion
      Returns:
      A lazily initialized value of the specVersion attribute
    • copyOf

      public static MalwareAnalysis copyOf(MalwareAnalysisSdo instance)
      Creates an immutable copy of a MalwareAnalysisSdo value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.
      Parameters:
      instance - The instance to copy
      Returns:
      A copied immutable MalwareAnalysis instance
    • builder

      public static MalwareAnalysis.Builder builder()
      Creates a builder for MalwareAnalysis.
      Returns:
      A new MalwareAnalysis builder