Package w.geo.api

Class ImmutableGeoLocation.Builder

java.lang.Object
w.geo.api.ImmutableGeoLocation.Builder
Enclosing class:
ImmutableGeoLocation

public static final class ImmutableGeoLocation.Builder extends Object
Builds instances of type ImmutableGeoLocation. 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

      public final ImmutableGeoLocation.Builder from(GeoLocation instance)
      Fill a builder with attribute values from the provided GeoLocation instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • city

      public final ImmutableGeoLocation.Builder city(@Nullable @Nullable String city)
      Initializes the value for the city attribute.
      Parameters:
      city - The value for city (can be null)
      Returns:
      this builder for use in a chained invocation
    • country

      public final ImmutableGeoLocation.Builder country(@Nullable @Nullable Country country)
      Initializes the value for the country attribute.
      Parameters:
      country - The value for country (can be null)
      Returns:
      this builder for use in a chained invocation
    • build

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