Class Citizen

java.lang.Object
org.episteme.social.sociology.Role
org.episteme.social.politics.Citizen
All Implemented Interfaces:
Serializable, Commented, ComprehensiveIdentification, Identified<Identification>, Named, Temporal<TimeCoordinate>

public class Citizen extends Role
Represents a person's legal status as a citizen, including nationalities and identification.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Constructor Details

    • Citizen

      public Citizen(Individual individual, CivilSituation situation)
      Initializes a new Citizen role for an individual within a civil situation.
      Parameters:
      individual - the individual taking on the citizen role
      situation - the civil context
      Throws:
      NullPointerException - if any argument is null
  • Method Details

    • getNationalities

      public Set<Country> getNationalities()
      Returns an unmodifiable set of nationalities.
      Returns:
      an unmodifiable view of the nationalities
    • addNationality

      public void addNationality(Country country)
      Adds a nationality to the citizen.
      Parameters:
      country - the country of citizenship
      Throws:
      NullPointerException - if country is null
    • removeNationality

      public void removeNationality(Country country)
      Removes a nationality from the citizen.
      Parameters:
      country - the country to remove
    • getIdentification

      public Identification getIdentification()
      Returns the identification for this citizen.
      Returns:
      the identification
    • setIdentification

      public void setIdentification(Identification identification)
      Updates the identification for this citizen.
      Parameters:
      identification - the new identification
      Throws:
      NullPointerException - if identification is null