Skip to content

feat(phase-0.2): ESPI Usage Domain Enums Batch 1#106

Merged
dfcoffin merged 1 commit intomainfrom
feature/issue-101-phase-0.2-usage-enums-batch1
Feb 5, 2026
Merged

feat(phase-0.2): ESPI Usage Domain Enums Batch 1#106
dfcoffin merged 1 commit intomainfrom
feature/issue-101-phase-0.2-usage-enums-batch1

Conversation

@dfcoffin
Copy link
Contributor

@dfcoffin dfcoffin commented Feb 5, 2026

Summary

Generate first batch of 5 core ESPI usage domain enumerations from espi.xsd schema.

Enums Created

  • AccumulationKind (11 values) - How readings are accumulated over time
  • CommodityKind (27 values) - Commodity classification (electricity, gas, water, etc.)
  • DataQualifierKind (15 values) - Salient attributes of readings (average, max, min, etc.)
  • FlowDirectionKind (22 values) - Flow direction for current-related readings
  • MeasurementKind (125 values) - Physical measurement types (power, voltage, current, etc.)

Features

All enums include:

  • ✅ Apache License 2.0 header (2025)
  • ✅ JAXB/Jakarta XML annotations (@XmlEnum, @XmlEnumValue)
  • ✅ Comprehensive Javadoc from XSD schema
  • getValue() method returning int
  • fromValue(int) static factory method
  • ✅ Package: org.greenbuttonalliance.espi.common.domain.usage.enums

Test Results

  • Unit tests: 638/638 passed
  • Integration tests: Require Docker (will run in CI/CD)

Based On

ESPI 4.0 espi.xsd schema (NAESB REQ.21)

🤖 Generated with Claude Code

Generated 5 core ESPI usage domain enumerations:
- AccumulationKind (11 values)
- CommodityKind (27 values)
- DataQualifierKind (15 values)
- FlowDirectionKind (22 values)
- MeasurementKind (125 values)

All enums include:
- Apache License 2.0 (2025)
- JAXB annotations for XML marshalling
- Comprehensive Javadoc from XSD
- getValue() and fromValue() methods

Based on ESPI 4.0 espi.xsd schema.
Unit tests: 638/638 passed

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@dfcoffin dfcoffin merged commit 33f5d4f into main Feb 5, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant