How manuelbl/swissqrbill works
This is a Java library for creating and decoding Swiss QR bills. Callers populate bill data and formatting options, then invoke QRBill to validate and normalize it, create QR payment data, lay out the payment slip, and produce PDF, SVG, or PNG bytes; QRBill also exposes parsing of embedded QR data. Separate capabilities include Swico S1 bill information and adding a bill to an existing PDF. Edges follow the README or references in the supplied source index; several implementation details were not sampled, so those relationships are omitted.
Main entry points: QRBill.java QR bill API · AbstractCanvas.java Canvas base · Validator.java Bill validation · Bill.java Bill model
Components 18
Bill data
- Bill model
generator/src/main/java/net/codecrete/qrbill/generator/Bill.java - Address model
generator/src/main/java/net/codecrete/qrbill/generator/Address.java - Output options
generator/src/main/java/net/codecrete/qrbill/generator/BillFormat.java - Swico S1 data
generator/src/main/java/net/codecrete/qrbill/generator/SwicoBillInformation.java
Payment data
- Bill validation
generator/src/main/java/net/codecrete/qrbill/generator/Validator.java - Validation results
generator/src/main/java/net/codecrete/qrbill/generator/ValidationResult.java - Payment rules
generator/src/main/java/net/codecrete/qrbill/generator/Payments.java - Swico codec
generator/src/main/java/net/codecrete/qrbill/generator/SwicoS1Decoder.java
Bill generation
- QR data text
generator/src/main/java/net/codecrete/qrbill/generator/QRCodeText.java - QR code
generator/src/main/java/net/codecrete/qrbill/generator/QRCode.java - Bill layout
generator/src/main/java/net/codecrete/qrbill/generator/BillLayout.java - QR bill API
generator/src/main/java/net/codecrete/qrbill/generator/QRBill.java
Graphics output
- Canvas interface
generator/src/main/java/net/codecrete/qrbill/canvas/Canvas.java - Canvas base
generator/src/main/java/net/codecrete/qrbill/canvas/AbstractCanvas.java - PDF output
generator/src/main/java/net/codecrete/qrbill/canvas/PDFCanvas.java - SVG output
generator/src/main/java/net/codecrete/qrbill/canvas/SVGCanvas.java - PNG output
generator/src/main/java/net/codecrete/qrbill/canvas/PNGCanvas.java
Other components
- Library caller
Connections 19
- Library caller → QR bill API: calls
README.md - Library caller → Bill model: provides data
README.md - Bill model → Address model: holds
generator/src/main/java/net/codecrete/qrbill/generator/Bill.java - QR bill API → Bill validation: validates
generator/src/main/java/net/codecrete/qrbill/generator/QRBill.java - Bill validation → Validation results: records errors
generator/src/main/java/net/codecrete/qrbill/generator/Validator.java - Bill validation → Payment rules: checks
generator/src/main/java/net/codecrete/qrbill/generator/Validator.java - QR bill API → QR data text: parses data
generator/src/main/java/net/codecrete/qrbill/generator/QRBill.java - QR bill API → QR code: creates
generator/src/main/java/net/codecrete/qrbill/generator/QRBill.java - QR bill API → Bill layout: lays out
generator/src/main/java/net/codecrete/qrbill/generator/QRBill.java - Bill layout → Canvas interface: draws on
generator/src/main/java/net/codecrete/qrbill/generator/BillLayout.java - Canvas base → Canvas interface: implements
generator/src/main/java/net/codecrete/qrbill/canvas/AbstractCanvas.java - QR bill API → PDF output: selects output
generator/src/main/java/net/codecrete/qrbill/generator/QRBill.java - QR bill API → SVG output: selects output
generator/src/main/java/net/codecrete/qrbill/generator/QRBill.java - QR bill API → PNG output: selects output
generator/src/main/java/net/codecrete/qrbill/generator/QRBill.java - PDF output → Canvas base: extends
generator/src/main/java/net/codecrete/qrbill/canvas/PDFCanvas.java - SVG output → Canvas base: extends
generator/src/main/java/net/codecrete/qrbill/canvas/SVGCanvas.java - PNG output → Canvas base: uses
generator/src/main/java/net/codecrete/qrbill/canvas/PNGCanvas.java - QR bill API → Swico S1 data: handles information
- Swico S1 data → Swico codec: encodes or decodes
generator/src/main/java/net/codecrete/qrbill/generator/SwicoBillInformation.java