Class Address

java.lang.Object
net.codecrete.qrbill.generator.Address
All Implemented Interfaces:
Serializable

public class Address extends Object implements Serializable
Address of creditor or debtor.

You can either set street, house number, postal code and town (type structured address) or address line 1 and 2 (type combined address elements). The type is automatically set once any of these fields is set. Before setting the fields, the address type is undetermined. If fields of both types are set, the address type becomes conflicting. Name and country code must always be set unless all fields are empty.

Banks will no longer accept payments using the combined address elements starting November 21, 2025. Therefore, it is recommended to use structured addresses immediately.

See Also:
  • Constructor Details

    • Address

      public Address()
      Creates an empty address.
  • Method Details

    • getType

      public Address.Type getType()
      Gets the address type.

      The address type is automatically set by either setting street / house number or address line 1 and 2. Before setting the fields, the address type is undetermined. If fields of both types are set, the address type becomes conflicting.

      The address type can be reset by calling clear().

      Returns:
      address type
    • getName

      public String getName()
      Gets the name, either the first and last name of a natural person or the company name of a legal person.
      Returns:
      the name
    • setName

      public void setName(String name)
      Sets the name, either the first and last name of a natural person or the company name of a legal person.

      The name is mandatory unless the entire address contains null or empty values.

      Parameters:
      name - the name
    • getAddressLine1

      @Deprecated public String getAddressLine1()
      Deprecated.
      Use a structured address instead. Will be removed in release 4.
      Gets the address line 1

      Address line 1 contains street name, house number or P.O. box.

      This field is only used for combined address elements and is optional. Starting November 25, 2025, banks will no longer accept payments using combined address elements.

      Returns:
      address line 1
    • setAddressLine1

      @Deprecated public void setAddressLine1(String addressLine1)
      Deprecated.
      Use a structured address instead. Will be removed in release 4.
      Sets the address line 1.

      Address line 1 contains street name, house number or P.O. box.

      Setting this field sets the address type to Address.Type.COMBINED_ELEMENTS unless it's already Address.Type.STRUCTURED, in which case it becomes Address.Type.CONFLICTING.

      This field is only used for combined address elements and is optional. Starting November 25, 2025, banks will no longer accept payments using combined address elements.

      Parameters:
      addressLine1 - address line 1
    • getAddressLine2

      @Deprecated public String getAddressLine2()
      Deprecated.
      Use a structured address instead. Will be removed in release 4.
      Gets the address line 2

      Address line 2 contains postal code and town.

      This field is only used for combined address elements. For this type, it's mandatory. Starting November 25, 2025, banks will no longer accept payments using combined address elements.

      Returns:
      address line 2
    • setAddressLine2

      @Deprecated public void setAddressLine2(String addressLine2)
      Deprecated.
      Use a structured address instead. Will be removed in release 4.
      Sets the address line 2.

      Address line 2 contains postal code and town

      Setting this field sets the address type to Address.Type.COMBINED_ELEMENTS unless it's already Address.Type.STRUCTURED, in which case it becomes Address.Type.CONFLICTING.

      This field is only used for combined address elements. For this type, it's mandatory. Starting November 25, 2025, banks will no longer accept payments using combined address elements.

      Parameters:
      addressLine2 - address line 2
    • getStreet

      public String getStreet()
      Gets the street.

      This field is only used for structured addresses and is optional.

      Returns:
      the street
    • setStreet

      public void setStreet(String street)
      Sets the street.

      This field must not contain the house or building number.

      Setting this field sets the address type to Address.Type.STRUCTURED unless it's already Address.Type.COMBINED_ELEMENTS, in which case it becomes Address.Type.CONFLICTING.

      This field is only used for structured addresses and is optional.

      Parameters:
      street - the street
    • getHouseNo

      public String getHouseNo()
      Gets the house or building number.

      This field is only used for structured addresses and is optional.

      Returns:
      the house number
    • setHouseNo

      public void setHouseNo(String houseNo)
      Sets the house or building number.

      Setting this field sets the address type to Address.Type.STRUCTURED unless it's already Address.Type.COMBINED_ELEMENTS, in which case it becomes Address.Type.CONFLICTING.

      This field is only used for structured addresses and is optional.

      Parameters:
      houseNo - the house number
    • getPostalCode

      public String getPostalCode()
      Gets the postal code

      This field is only used for structured addresses. For this type, it's mandatory.

      Returns:
      the postal code
    • setPostalCode

      public void setPostalCode(String postalCode)
      Sets the postal code

      Setting this field sets the address type to Address.Type.STRUCTURED unless it's already Address.Type.COMBINED_ELEMENTS, in which case it becomes Address.Type.CONFLICTING.

      This field is only used for structured addresses. For this type, it's mandatory.

      Parameters:
      postalCode - the postal code
    • getTown

      public String getTown()
      Gets the town.

      This field is only used for structured addresses. For this type, it's mandatory.

      Returns:
      the town
    • setTown

      public void setTown(String town)
      Sets the town

      Setting this field sets the address type to Address.Type.STRUCTURED unless it's already Address.Type.COMBINED_ELEMENTS, in which case it becomes Address.Type.CONFLICTING.

      This field is only used for structured addresses. For this type, it's mandatory.

      Parameters:
      town - the town
    • getCountryCode

      public String getCountryCode()
      Gets the two-letter ISO country code.
      Returns:
      the ISO country code
    • setCountryCode

      public void setCountryCode(String countryCode)
      Sets the two-letter ISO country code

      The country code is mandatory unless the entire address contains null or empty values.

      Parameters:
      countryCode - the ISO country code
    • clear

      public void clear()
      Clears all fields and set the type to Address.Type.UNDETERMINED.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object