Class Role

java.lang.Object
org.episteme.social.sociology.Role
All Implemented Interfaces:
Serializable, Commented, ComprehensiveIdentification, Identified<Identification>, Named, Temporal<TimeCoordinate>
Direct Known Subclasses:
Candidate, Citizen, Defendant, EconomicAgent, Locutor, MasterOfCeremony, Member, Patient, Plaintiff, ResponsibleIndividual, Voter, Witness

public class Role extends Object implements ComprehensiveIdentification, Temporal<TimeCoordinate>
Represents a social role assumed by an individual within a specific situation. Roles define expected behaviors and relations (e.g., Client/Server, Supervisor, Observer). * @version 2.1
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Field Details

    • CLIENT

      public static final RoleKind CLIENT
      Primary role categories.
    • SERVER

      public static final RoleKind SERVER
    • SUPERVISOR

      public static final RoleKind SUPERVISOR
    • OBSERVER

      public static final RoleKind OBSERVER
  • Constructor Details

    • Role

      public Role(Individual individual, String name, Situation situation, RoleKind kind)
      Creates a new Role for an individual within a specific situation.
      Parameters:
      individual - the individual taking on the role
      name - the identifying name of the role
      situation - the context for the role
      kind - the categorical classification of the role
      Throws:
      NullPointerException - if any argument is null
    • Role

      public Role(String name, RoleKind kind)
      Creates a standalone Role template.
      Parameters:
      name - the identifying name of the role
      kind - the categorical classification
      Throws:
      NullPointerException - if name is null
  • Method Details

    • getId

      public Identification getId()
      Description copied from interface: Identified
      Returns the unique identifier of this entity.
      Specified by:
      getId in interface Identified<Identification>
      Returns:
      the identifier
    • getTraits

      public Map<String,Object> getTraits()
      Description copied from interface: ComprehensiveIdentification
      Returns the traits map for this entity.
      Specified by:
      getTraits in interface Commented
      Specified by:
      getTraits in interface ComprehensiveIdentification
      Returns:
      the traits map
    • getIndividual

      public Individual getIndividual()
      Returns the individual associated with this role.
      Returns:
      the individual
    • getSituation

      public Situation getSituation()
      Returns the situation context for this role.
      Returns:
      the situation
    • getKind

      public RoleKind getKind()
      Returns the archetypal kind of this role.
      Returns:
      the kind constant
    • setKind

      public void setKind(RoleKind kind)
    • getWhen

      public TimeCoordinate getWhen()
      Description copied from interface: Temporal
      Returns the temporal position (when) of this entity.
      Specified by:
      getWhen in interface Temporal<TimeCoordinate>
      Returns:
      the temporal position.
    • setTimestamp

      public void setTimestamp(TimeCoordinate timestamp)
      Sets the timestamp for this role.
      Parameters:
      timestamp - the timestamp to set
    • 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