Class Economy
java.lang.Object
org.episteme.social.economics.Economy
- All Implemented Interfaces:
Serializable, Commented, ComprehensiveIdentification, Identified<Identification>, Named, UniversalDataModel
- Direct Known Subclasses:
FreeMarketEconomy, PlannedEconomy
public abstract class Economy
extends Object
implements ComprehensiveIdentification, UniversalDataModel
Functional abstraction for an economic system, encompassing organizations,
central banking, and macro-financial indicators. It provides the framework
for simulating resource flows and systemic events within a specific
economic situation.
- Since:
- 1.0
- Version:
- 2.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionEconomy(Set<Organization> orgs, Bank centralBank) Initializes a new Economy with its constituent organizations and a mandatory central bank.Economy(Identification id, Set<Organization> orgs, Bank centralBank) -
Method Summary
Modifier and TypeMethodDescriptionvoidgetGDP()getId()Returns the unique identifier of this entity.Returns a map of metadata for this model (e.g., creation date, source).Returns a unique identifier for the type of data model.Quantity<?> getNumberOfUnits(Resource resource) Aggregates the total quantity of a specific resource across all organizations in the current economy.Returns the primary physical values associated with this model.Returns the traits map for this entity.getValue()Calculates the gross value of all organizations in the economy based on their localized liquid capital.voidvoidvoidsetInflationRate(Real rate) voidsetUnemploymentRate(Real rate) abstract voidstatic Economyusa()Factory method creating a snapshot of the USA economy.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Commented
getComments, getTrait, setCommentsMethods inherited from interface ComprehensiveIdentification
getName, getTrait, setName, setTraitMethods inherited from interface UniversalDataModel
validate
-
Constructor Details
-
Economy
Initializes a new Economy with its constituent organizations and a mandatory central bank.- Parameters:
orgs- the initial set of productive organizationscentralBank- the system's central bank- Throws:
NullPointerException- if centralBank or orgs is null
-
Economy
-
-
Method Details
-
usa
Factory method creating a snapshot of the USA economy.- Returns:
- a concrete Economy instance
-
getOrganizations
-
getCentralBank
-
addOrganization
-
removeOrganization
-
getNumberOfUnits
-
getValue
Calculates the gross value of all organizations in the economy based on their localized liquid capital.- Returns:
- total aggregated value in Money units
-
step
-
getId
Description copied from interface:IdentifiedReturns the unique identifier of this entity.- Specified by:
getIdin interfaceIdentified<Identification>- Returns:
- the identifier
-
getTraits
Description copied from interface:ComprehensiveIdentificationReturns the traits map for this entity.- Specified by:
getTraitsin interfaceCommented- Specified by:
getTraitsin interfaceComprehensiveIdentification- Returns:
- the traits map
-
getModelType
Description copied from interface:UniversalDataModelReturns a unique identifier for the type of data model. Examples: "SPATIAL_GEOMETRY", "ECONOMIC_PORTFOLIO", "ARCHITECTURAL_PLAN".- Specified by:
getModelTypein interfaceUniversalDataModel
-
getGDP
- Returns:
- the current Gross Domestic Product (GDP)
-
setGDP
-
getInflationRate
-
setInflationRate
-
getUnemploymentRate
-
setUnemploymentRate
-
getMetadata
Description copied from interface:UniversalDataModelReturns a map of metadata for this model (e.g., creation date, source).- Specified by:
getMetadatain interfaceUniversalDataModel
-
getQuantities
Description copied from interface:UniversalDataModelReturns the primary physical values associated with this model. This allows generic tools to extract and convert measurements.- Specified by:
getQuantitiesin interfaceUniversalDataModel
-