Class ExtensibleEnum

java.lang.Object
org.episteme.core.util.ExtensibleEnum
All Implemented Interfaces:
Serializable, Comparable<ExtensibleEnum>
Direct Known Subclasses:
ActivationFunction, ActKind, AdoptionStatus, AnatomicalDirection, AnatomicalMovement, AnatomicalPlane, ArtForm, ArtMedium, AtcMainGroup, Base, BiologicalSex, BloodType, BondType, CelebrationKind, ConservationStatus, CountryCode, Department, DevelopmentStatus, EconomicProcess, EducationLevel, ElementCategory, EpistemicStatus, Era, EventCategory, EvidenceKind, FlowRegime, Gender, GovernmentForm, GovernmentType, GroupKind, HistoricalPeriod, Ideology, IndustryCategory, IndustrySector, LifeStage, ManagementLevel, MarketStructure, MatchStatus, MedicationForm, MedicationRoute, Occupation, OrganizationSector, OrganSystem, OrganType, PlacePrecision, PlaceType, PoliticalSpectrum, POS, QuestionType, ReligionType, ReproductionMode, ResourceKind, RockType, RoleKind, SchmidtPainIndex, SchoolLevel, SchoolType, ScientificField, SocietyType, StatuteStatus, StatuteType, TimePrecision, TissueType, TransactionStatus, TransformationType, Virus.Stage, VirusGenomeType, VirusMorphology, VotingMethod

public abstract class ExtensibleEnum extends Object implements Serializable, Comparable<ExtensibleEnum>
Abstract base class for extensible enumeration pattern.

Unlike Java enums which are closed sets, ExtensibleEnum allows user-defined values to be added at runtime.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
See Also:
  • Constructor Details

    • ExtensibleEnum

      protected ExtensibleEnum(String name)
  • Method Details

    • name

      public final String name()
      Returns the name of this enum constant.
    • ordinal

      public final int ordinal()
      Returns the ordinal of this enum constant.
    • description

      public String description()
      Returns a description of this enum constant.
    • isBuiltIn

      public boolean isBuiltIn()
      Checks if this is a built-in (predefined) value. Default implementation returns true to mimic standard Enum behavior unless explicitly overridden.
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • equals

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

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • compareTo

      public final int compareTo(ExtensibleEnum o)
      Specified by:
      compareTo in interface Comparable<ExtensibleEnum>
    • getDeclaringClass

      public final Class<? extends ExtensibleEnum> getDeclaringClass()