Class Location

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

@ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @Immutable @CheckReturnValue @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public final class Location extends Object implements LocationSdo
location

A Location represents a geographic location. This object is part of STIX 2.1 specification.

See Also:
  • Method Details

    • getName

      @JsonPropertyDescription("A name used to identify the Location.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getName()
      Specified by:
      getName in interface LocationSdo
      Returns:
      The value of the name attribute
    • getDescription

      @JsonPropertyDescription("A textual description of the Location.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getDescription()
      Specified by:
      getDescription in interface LocationSdo
      Returns:
      The value of the description attribute
    • getLatitude

      @JsonPropertyDescription("The latitude of the Location in decimal degrees.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<Double> getLatitude()
      Specified by:
      getLatitude in interface LocationSdo
      Returns:
      The value of the latitude attribute
    • getLongitude

      @JsonPropertyDescription("The longitude of the Location in decimal degrees.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<Double> getLongitude()
      Specified by:
      getLongitude in interface LocationSdo
      Returns:
      The value of the longitude attribute
    • getPrecision

      @JsonPropertyDescription("Defines the precision of the coordinates specified by the latitude and longitude properties in meters.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<Double> getPrecision()
      Specified by:
      getPrecision in interface LocationSdo
      Returns:
      The value of the precision attribute
    • getRegion

      @JsonPropertyDescription("The region that this Location describes. Open Vocabulary: region-ov") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getRegion()
      Specified by:
      getRegion in interface LocationSdo
      Returns:
      The value of the region attribute
    • getCountry

      @JsonPropertyDescription("The country that this Location describes (ISO 3166-1 ALPHA-2 Code).") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getCountry()
      Specified by:
      getCountry in interface LocationSdo
      Returns:
      The value of the country attribute
    • getAdministrativeArea

      @JsonPropertyDescription("The state, province, or other sub-national administrative area that this Location describes.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getAdministrativeArea()
      Specified by:
      getAdministrativeArea in interface LocationSdo
      Returns:
      The value of the administrativeArea attribute
    • getCity

      @JsonPropertyDescription("The city that this Location describes.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getCity()
      Specified by:
      getCity in interface LocationSdo
      Returns:
      The value of the city attribute
    • getStreetAddress

      @JsonPropertyDescription("The street address that this Location describes.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getStreetAddress()
      Specified by:
      getStreetAddress in interface LocationSdo
      Returns:
      The value of the streetAddress attribute
    • getPostalCode

      @JsonPropertyDescription("The postal code for this Location.") @Redactable(useMask=false, redactionMask="\u2588\u2588REDACTED\u2588\u2588") public Optional<String> getPostalCode()
      Specified by:
      getPostalCode in interface LocationSdo
      Returns:
      The value of the postalCode 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
    • withName

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

      public final Location withName(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the name 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 name
      Returns:
      A modified copy of this object
    • withDescription

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

      public final Location withDescription(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the description 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 description
      Returns:
      A modified copy of this object
    • withLatitude

      public final Location withLatitude(double value)
      Copy the current immutable object by setting a present value for the optional latitude attribute.
      Parameters:
      value - The value for latitude
      Returns:
      A modified copy of this object
    • withLatitude

      public final Location withLatitude(Optional<Double> optional)
      Copy the current immutable object by setting an optional value for the latitude 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 latitude
      Returns:
      A modified copy of this object
    • withLongitude

      public final Location withLongitude(double value)
      Copy the current immutable object by setting a present value for the optional longitude attribute.
      Parameters:
      value - The value for longitude
      Returns:
      A modified copy of this object
    • withLongitude

      public final Location withLongitude(Optional<Double> optional)
      Copy the current immutable object by setting an optional value for the longitude 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 longitude
      Returns:
      A modified copy of this object
    • withPrecision

      public final Location withPrecision(double value)
      Copy the current immutable object by setting a present value for the optional precision attribute.
      Parameters:
      value - The value for precision
      Returns:
      A modified copy of this object
    • withPrecision

      public final Location withPrecision(Optional<Double> optional)
      Copy the current immutable object by setting an optional value for the precision 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 precision
      Returns:
      A modified copy of this object
    • withRegion

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

      public final Location withRegion(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the region 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 region
      Returns:
      A modified copy of this object
    • withCountry

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

      public final Location withCountry(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the country 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 country
      Returns:
      A modified copy of this object
    • withAdministrativeArea

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

      public final Location withAdministrativeArea(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the administrativeArea 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 administrativeArea
      Returns:
      A modified copy of this object
    • withCity

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

      public final Location withCity(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the city 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 city
      Returns:
      A modified copy of this object
    • withStreetAddress

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

      public final Location withStreetAddress(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the streetAddress 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 streetAddress
      Returns:
      A modified copy of this object
    • withPostalCode

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

      public final Location withPostalCode(Optional<String> optional)
      Copy the current immutable object by setting an optional value for the postalCode 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 postalCode
      Returns:
      A modified copy of this object
    • withRelationships

      public final Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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 Location 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: name, description, latitude, longitude, precision, region, country, administrativeArea, city, streetAddress, postalCode, 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 Location 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 Location copyOf(LocationSdo instance)
      Creates an immutable copy of a LocationSdo 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 Location instance
    • builder

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