Class Infrastructure
java.lang.Object
security.whisper.javastix.sdo.objects.Infrastructure
- All Implemented Interfaces:
Serializable,BundleableObject,Stix,StixCommonProperties,StixCustomProperties,StixLabels,StixModified,StixRevoked,StixSpecVersion,DomainObject,InfrastructureSdo,SdoDefaultValidator
@ParametersAreNonnullByDefault
@Generated("org.immutables.processor.ProxyProcessor")
@Immutable
@CheckReturnValue
@Redactable(useMask=false,
redactionMask="\u2588\u2588REDACTED\u2588\u2588")
public final class Infrastructure
extends Object
implements InfrastructureSdo
infrastructure
The Infrastructure SDO represents a type of TTP and describes any systems, software services, and associated physical or virtual resources intended to support some purpose (e.g., C2 servers used as part of an attack, drive-by download websites, etc.). This object is part of STIX 2.1 specification.
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from interface security.whisper.javastix.validation.SdoDefaultValidator
VALIDATOR -
Method Summary
Modifier and TypeMethodDescriptionstatic Infrastructure.Builderbuilder()Creates a builder forInfrastructure.static InfrastructurecopyOf(InfrastructureSdo instance) Creates an immutable copy of aInfrastructureSdovalue.booleanThis instance is equal to all instances ofInfrastructurethat have equal attribute values.com.google.common.collect.ImmutableSet<String> Custom Properties for STIX Objects.com.google.common.collect.ImmutableSet<ExternalReferenceType> com.google.common.collect.ImmutableSet<GranularMarkingDm> booleanDictates if the object is hydrated.getId()com.google.common.collect.ImmutableSet<String> com.google.common.collect.ImmutableSet<KillChainPhaseType> com.google.common.collect.ImmutableSet<String> getLang()getName()com.google.common.collect.ImmutableSet<MarkingDefinitionDm> com.google.common.collect.ImmutableSet<RelationshipSro> This is used with the SROs.Helper attribute to track the STIX Spec Version that was used for this object.getType()inthashCode()Computes a hash code from attributes:name,description,infrastructureTypes,aliases,killChainPhases,firstSeen,lastSeen,relationships,hydrated,type,id,createdByRef,created,lang,externalReferences,objectMarkingRefs,granularMarkings,customProperties,labels,modified,revoked.toString()Prints the immutable valueInfrastructurewith attribute values.final InfrastructurewithAliases(Iterable<String> elements) Copy the current immutable object with elements that replace the content ofaliases.final InfrastructurewithAliases(String... elements) Copy the current immutable object with elements that replace the content ofaliases.final InfrastructurewithCreated(StixInstant value) Copy the current immutable object by setting a value for thecreatedattribute.final InfrastructurewithCreatedByRef(Optional<? extends IdentitySdo> optional) Copy the current immutable object by setting an optional value for thecreatedByRefattribute.final InfrastructurewithCreatedByRef(IdentitySdo value) Copy the current immutable object by setting a present value for the optionalcreatedByRefattribute.final InfrastructurewithCustomProperties(Map<String, ? extends Object> entries) Copy the current immutable object by replacing thecustomPropertiesmap with the specified map.final InfrastructurewithDescription(String value) Copy the current immutable object by setting a present value for the optionaldescriptionattribute.final InfrastructurewithDescription(Optional<String> optional) Copy the current immutable object by setting an optional value for thedescriptionattribute.final InfrastructurewithExternalReferences(Iterable<? extends ExternalReferenceType> elements) Copy the current immutable object with elements that replace the content ofexternalReferences.final InfrastructurewithExternalReferences(ExternalReferenceType... elements) Copy the current immutable object with elements that replace the content ofexternalReferences.final InfrastructurewithFirstSeen(Optional<? extends StixInstant> optional) Copy the current immutable object by setting an optional value for thefirstSeenattribute.final InfrastructurewithFirstSeen(StixInstant value) Copy the current immutable object by setting a present value for the optionalfirstSeenattribute.final InfrastructurewithGranularMarkings(Iterable<? extends GranularMarkingDm> elements) Copy the current immutable object with elements that replace the content ofgranularMarkings.final InfrastructurewithGranularMarkings(GranularMarkingDm... elements) Copy the current immutable object with elements that replace the content ofgranularMarkings.final InfrastructurewithHydrated(boolean value) Copy the current immutable object by setting a value for thehydratedattribute.final InfrastructureCopy the current immutable object by setting a value for theidattribute.final InfrastructurewithInfrastructureTypes(Iterable<String> elements) Copy the current immutable object with elements that replace the content ofinfrastructureTypes.final InfrastructurewithInfrastructureTypes(String... elements) Copy the current immutable object with elements that replace the content ofinfrastructureTypes.final InfrastructurewithKillChainPhases(Iterable<? extends KillChainPhaseType> elements) Copy the current immutable object with elements that replace the content ofkillChainPhases.final InfrastructurewithKillChainPhases(KillChainPhaseType... elements) Copy the current immutable object with elements that replace the content ofkillChainPhases.final InfrastructurewithLabels(Iterable<String> elements) Copy the current immutable object with elements that replace the content oflabels.final InfrastructurewithLabels(String... elements) Copy the current immutable object with elements that replace the content oflabels.final InfrastructureCopy the current immutable object by setting a present value for the optionallangattribute.final InfrastructureCopy the current immutable object by setting an optional value for thelangattribute.final InfrastructurewithLastSeen(Optional<? extends StixInstant> optional) Copy the current immutable object by setting an optional value for thelastSeenattribute.final InfrastructurewithLastSeen(StixInstant value) Copy the current immutable object by setting a present value for the optionallastSeenattribute.final InfrastructurewithModified(StixInstant value) Copy the current immutable object by setting a value for themodifiedattribute.final InfrastructureCopy the current immutable object by setting a value for thenameattribute.final InfrastructurewithObjectMarkingRefs(Iterable<? extends MarkingDefinitionDm> elements) Copy the current immutable object with elements that replace the content ofobjectMarkingRefs.final InfrastructurewithObjectMarkingRefs(MarkingDefinitionDm... elements) Copy the current immutable object with elements that replace the content ofobjectMarkingRefs.final InfrastructurewithRelationships(Iterable<? extends RelationshipSro> elements) Copy the current immutable object with elements that replace the content ofrelationships.final InfrastructurewithRelationships(RelationshipSro... elements) Copy the current immutable object with elements that replace the content ofrelationships.final InfrastructurewithRevoked(StixBoolean value) Copy the current immutable object by setting a value for therevokedattribute.final InfrastructureCopy the current immutable object by setting a value for thetypeattribute.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface security.whisper.javastix.validation.SdoDefaultValidator
validate, validateOnlyIdMethods inherited from interface security.whisper.javastix.common.StixCommonProperties
checkHydrationValidation
-
Method Details
-
getName
@JsonPropertyDescription("The name used to identify the Infrastructure.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public String getName()- Specified by:
getNamein interfaceInfrastructureSdo- Returns:
- The value of the
nameattribute
-
getDescription
@JsonPropertyDescription("A description that provides more details and context about the Infrastructure, potentially including its purpose and its key characteristics.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getDescription()- Specified by:
getDescriptionin interfaceInfrastructureSdo- Returns:
- The value of the
descriptionattribute
-
getInfrastructureTypes
@JsonPropertyDescription("The type of infrastructure being described. Open Vocabulary: infrastructure-type-ov") @Redactable(useMask=true, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<String> getInfrastructureTypes()- Specified by:
getInfrastructureTypesin interfaceInfrastructureSdo- Returns:
- The value of the
infrastructureTypesattribute
-
getAliases
@JsonPropertyDescription("Alternative names used to identify this Infrastructure.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<String> getAliases()- Specified by:
getAliasesin interfaceInfrastructureSdo- Returns:
- The value of the
aliasesattribute
-
getKillChainPhases
@JsonPropertyDescription("The list of kill chain phases for which this Infrastructure is used.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public com.google.common.collect.ImmutableSet<KillChainPhaseType> getKillChainPhases()- Specified by:
getKillChainPhasesin interfaceInfrastructureSdo- Returns:
- The value of the
killChainPhasesattribute
-
getFirstSeen
@JsonPropertyDescription("The time that this Infrastructure was first seen performing malicious activities.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<StixInstant> getFirstSeen()- Specified by:
getFirstSeenin interfaceInfrastructureSdo- Returns:
- The value of the
firstSeenattribute
-
getLastSeen
@JsonPropertyDescription("The time that this Infrastructure was last seen performing malicious activities.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<StixInstant> getLastSeen()- Specified by:
getLastSeenin interfaceInfrastructureSdo- Returns:
- The value of the
lastSeenattribute
-
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:
getRelationshipsin interfaceDomainObject- 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:
getHydratedin interfaceBundleableObject- Specified by:
getHydratedin interfaceStixCommonProperties- 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:
getTypein interfaceBundleableObject- Specified by:
getTypein interfaceStixCommonProperties- Returns:
- The value of the
typeattribute
-
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:
getIdin interfaceBundleableObject- Specified by:
getIdin interfaceStixCommonProperties- Returns:
- The value of the
idattribute
-
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:
getCreatedByRefin interfaceStixCommonProperties- Returns:
- The value of the
createdByRefattribute
-
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:
getCreatedin interfaceStixCommonProperties- Returns:
- The value of the
createdattribute
-
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:
getLangin interfaceStixCommonProperties- Returns:
- The value of the
langattribute
-
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:
getExternalReferencesin interfaceStixCommonProperties- Returns:
- The value of the
externalReferencesattribute
-
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:
getObjectMarkingRefsin interfaceBundleableObject- Specified by:
getObjectMarkingRefsin interfaceStixCommonProperties- Returns:
- The value of the
objectMarkingRefsattribute
-
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:
getGranularMarkingsin interfaceBundleableObject- Specified by:
getGranularMarkingsin interfaceStixCommonProperties- Returns:
- The value of the
granularMarkingsattribute
-
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:
getCustomPropertiesin interfaceStixCustomProperties- 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:
getLabelsin interfaceStixLabels- Returns:
- The value of the
labelsattribute
-
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:
getModifiedin interfaceStixModified- Returns:
- The value of the
modifiedattribute
-
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:
getRevokedin interfaceStixRevoked- Returns:
- The value of the
revokedattribute
-
withName
Copy the current immutable object by setting a value for thenameattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for name (can benull)- Returns:
- A modified copy of the
thisobject
-
withDescription
Copy the current immutable object by setting a present value for the optionaldescriptionattribute.- Parameters:
value- The value for description- Returns:
- A modified copy of
thisobject
-
withDescription
Copy the current immutable object by setting an optional value for thedescriptionattribute. An equality check is used on inner nullable value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for description- Returns:
- A modified copy of
thisobject
-
withInfrastructureTypes
Copy the current immutable object with elements that replace the content ofinfrastructureTypes.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withInfrastructureTypes
Copy the current immutable object with elements that replace the content ofinfrastructureTypes. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of infrastructureTypes elements to set- Returns:
- A modified copy of
thisobject
-
withAliases
Copy the current immutable object with elements that replace the content ofaliases.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withAliases
Copy the current immutable object with elements that replace the content ofaliases. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of aliases elements to set- Returns:
- A modified copy of
thisobject
-
withKillChainPhases
Copy the current immutable object with elements that replace the content ofkillChainPhases.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withKillChainPhases
Copy the current immutable object with elements that replace the content ofkillChainPhases. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of killChainPhases elements to set- Returns:
- A modified copy of
thisobject
-
withFirstSeen
Copy the current immutable object by setting a present value for the optionalfirstSeenattribute.- Parameters:
value- The value for firstSeen- Returns:
- A modified copy of
thisobject
-
withFirstSeen
Copy the current immutable object by setting an optional value for thefirstSeenattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for firstSeen- Returns:
- A modified copy of
thisobject
-
withLastSeen
Copy the current immutable object by setting a present value for the optionallastSeenattribute.- Parameters:
value- The value for lastSeen- Returns:
- A modified copy of
thisobject
-
withLastSeen
Copy the current immutable object by setting an optional value for thelastSeenattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for lastSeen- Returns:
- A modified copy of
thisobject
-
withRelationships
Copy the current immutable object with elements that replace the content ofrelationships.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withRelationships
Copy the current immutable object with elements that replace the content ofrelationships. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of relationships elements to set- Returns:
- A modified copy of
thisobject
-
withHydrated
Copy the current immutable object by setting a value for thehydratedattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for hydrated- Returns:
- A modified copy of the
thisobject
-
withType
Copy the current immutable object by setting a value for thetypeattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for type (can benull)- Returns:
- A modified copy of the
thisobject
-
withId
Copy the current immutable object by setting a value for theidattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for id (can benull)- Returns:
- A modified copy of the
thisobject
-
withCreatedByRef
Copy the current immutable object by setting a present value for the optionalcreatedByRefattribute.- Parameters:
value- The value for createdByRef- Returns:
- A modified copy of
thisobject
-
withCreatedByRef
Copy the current immutable object by setting an optional value for thecreatedByRefattribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for createdByRef- Returns:
- A modified copy of
thisobject
-
withCreated
Copy the current immutable object by setting a value for thecreatedattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for created- Returns:
- A modified copy of the
thisobject
-
withLang
Copy the current immutable object by setting a present value for the optionallangattribute.- Parameters:
value- The value for lang- Returns:
- A modified copy of
thisobject
-
withLang
Copy the current immutable object by setting an optional value for thelangattribute. An equality check is used on inner nullable value to prevent copying of the same value by returningthis.- Parameters:
optional- A value for lang- Returns:
- A modified copy of
thisobject
-
withExternalReferences
Copy the current immutable object with elements that replace the content ofexternalReferences.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withExternalReferences
public final Infrastructure withExternalReferences(Iterable<? extends ExternalReferenceType> elements) Copy the current immutable object with elements that replace the content ofexternalReferences. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of externalReferences elements to set- Returns:
- A modified copy of
thisobject
-
withObjectMarkingRefs
Copy the current immutable object with elements that replace the content ofobjectMarkingRefs.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withObjectMarkingRefs
Copy the current immutable object with elements that replace the content ofobjectMarkingRefs. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of objectMarkingRefs elements to set- Returns:
- A modified copy of
thisobject
-
withGranularMarkings
Copy the current immutable object with elements that replace the content ofgranularMarkings.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withGranularMarkings
Copy the current immutable object with elements that replace the content ofgranularMarkings. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of granularMarkings elements to set- Returns:
- A modified copy of
thisobject
-
withCustomProperties
Copy the current immutable object by replacing thecustomPropertiesmap 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 returningthis.- Parameters:
entries- The entries to be added to the customProperties map- Returns:
- A modified copy of
thisobject
-
withLabels
Copy the current immutable object with elements that replace the content oflabels.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withLabels
Copy the current immutable object with elements that replace the content oflabels. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of labels elements to set- Returns:
- A modified copy of
thisobject
-
withModified
Copy the current immutable object by setting a value for themodifiedattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for modified- Returns:
- A modified copy of the
thisobject
-
withRevoked
Copy the current immutable object by setting a value for therevokedattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for revoked- Returns:
- A modified copy of the
thisobject
-
equals
This instance is equal to all instances ofInfrastructurethat have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:name,description,infrastructureTypes,aliases,killChainPhases,firstSeen,lastSeen,relationships,hydrated,type,id,createdByRef,created,lang,externalReferences,objectMarkingRefs,granularMarkings,customProperties,labels,modified,revoked. -
toString
Prints the immutable valueInfrastructurewith attribute values. -
toJsonString
@Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public String toJsonString()Returns a lazily initialized value of the
toJsonStringattribute. Initialized once and only once and stored for subsequent access with proper synchronization.- Specified by:
toJsonStringin interfaceBundleableObject- Specified by:
toJsonStringin interfaceStixCommonProperties- Returns:
- A lazily initialized value of the
toJsonStringattribute
-
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
specVersionattribute. Initialized once and only once and stored for subsequent access with proper synchronization.- Specified by:
getSpecVersionin interfaceStixSpecVersion- Returns:
- A lazily initialized value of the
specVersionattribute
-
copyOf
Creates an immutable copy of aInfrastructureSdovalue. 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 Infrastructure instance
-
builder
Creates a builder forInfrastructure.- Returns:
- A new Infrastructure builder
-