Class DoctorJsonCodec
java.lang.Object
com.shaft.doctor.format.DoctorJsonCodec
Deterministic JSON codec for Doctor evidence, diagnosis, and reports.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionreadBundle(String json) Reads and validates evidence bundle JSON.readBundle(Path path) Reads an evidence bundle file.Serializes and validates a diagnosis.write(EvidenceBundle bundle) Serializes and validates an evidence bundle.voidWrites a diagnosis atomically.voidwrite(Path path, EvidenceBundle bundle) Writes a bundle atomically.voidwriteReport(Path path, EvidenceBundle bundle, Diagnosis diagnosis) Writes the combined machine-readable report atomically.voidwriteReport(Path path, EvidenceBundle bundle, Diagnosis diagnosis, DoctorAdvisory advisory) Writes the combined report with a separately identified optional advisory.
-
Constructor Details
-
DoctorJsonCodec
public DoctorJsonCodec()Creates the stable codec.
-
-
Method Details
-
write
Serializes and validates an evidence bundle.- Parameters:
bundle- bundle to serialize- Returns:
- stable JSON ending in a newline
-
write
-
readBundle
Reads and validates evidence bundle JSON.- Parameters:
json- evidence JSON- Returns:
- immutable bundle
-
readBundle
Reads an evidence bundle file.- Parameters:
path- bundle path- Returns:
- immutable bundle
-
write
Writes a bundle atomically.- Parameters:
path- destinationbundle- bundle
-
write
-
writeReport
Writes the combined machine-readable report atomically.- Parameters:
path- destinationbundle- evidence bundlediagnosis- diagnosis
-
writeReport
public void writeReport(Path path, EvidenceBundle bundle, Diagnosis diagnosis, DoctorAdvisory advisory) Writes the combined report with a separately identified optional advisory.- Parameters:
path- destinationbundle- evidence bundlediagnosis- deterministic diagnosisadvisory- provider advisory or safe fallback
-