How todaynightt/printing-factory works
Printing Factory watches the configured print directory, queues newly created files, prepares each supported document and its print options, then submits it as an IPP job and tracks completion. The graph separates filesystem watching, job preparation, and printer protocol operations. The README establishes the product workflow; source excerpts and the SOURCE INDEX support the shown wiring. Several runtime components were indexed but not excerpted, so their relationships are limited to those references.
Main entry points: Application.java Application setup · JobCreator.java Job creator · SendDocument.java Send document · LocalWatcher.java Local watcher
Components 23
Application runtime
- Program entry
src/main/java/org/printing_factory/Main.java - Application setup
src/main/java/org/printing_factory/Application.java - Environment config
src/main/java/org/printing_factory/config/Config.java
File watching
- Watch path
src/main/java/org/printing_factory/watcher/path/WatchPath.java - Watcher factory
src/main/java/org/printing_factory/watcher/WatcherFactory.java - Local watcher
src/main/java/org/printing_factory/watcher/LocalWatcher.java - File path queue
src/main/java/org/printing_factory/Application.java
Job preparation
- Job creator
src/main/java/org/printing_factory/JobCreator.java - Document manager
src/main/java/org/printing_factory/docu/DocumentManager.java - File descriptor
src/main/java/org/printing_factory/file/FileDescriptor.java - Document formats
src/main/java/org/printing_factory/docu/DocFormat.java - Filename options
src/main/java/org/printing_factory/printing/PathParser.java
IPP printing
- Printer client
src/main/java/org/printing_factory/printing/Printer.java - IPP connection
src/main/java/org/printing_factory/printing/IppConnection.java - Print job queue
src/main/java/org/printing_factory/Application.java - Job sender
src/main/java/org/printing_factory/JobsSender.java - Create job
src/main/java/org/printing_factory/printing/ipp/jobs/CreateJob.java - Send document
src/main/java/org/printing_factory/printing/ipp/jobs/SendDocument.java - Job attributes
src/main/java/org/printing_factory/printing/ipp/jobs/GetJobAttributes.java - Status checker
src/main/java/org/printing_factory/StatusChecker.java
Other components
- Print operator
- Print directory
- IPP printer
Connections 30
- Print operator → Print directory: places files
README.md - Print directory → Local watcher: file changes
README.md - Program entry → Application setup: starts
src/main/java/org/printing_factory/Main.java - Application setup → Environment config: loads
src/main/java/org/printing_factory/Application.java - Application setup → Watch path: configures
src/main/java/org/printing_factory/Application.java - Application setup → Watcher factory: creates
src/main/java/org/printing_factory/Application.java - Watcher factory → Local watcher: selects
src/main/java/org/printing_factory/watcher/WatcherFactory.java - Application setup → Local watcher: starts watching
src/main/java/org/printing_factory/Application.java - Local watcher → File path queue: queues paths
src/main/java/org/printing_factory/watcher/LocalWatcher.java - Application setup → Job creator: starts worker
src/main/java/org/printing_factory/Application.java - Job creator → File path queue: takes paths
src/main/java/org/printing_factory/Application.java - Job creator → Document manager: prepares files
src/main/java/org/printing_factory/JobCreator.java - Document manager → File descriptor: classifies file
src/main/java/org/printing_factory/docu/DocumentManager.java - File descriptor → Filename options: parses options
src/main/java/org/printing_factory/file/FileDescriptor.java - Document manager → Document formats: checks format
- Job creator → Printer client: uses printer
src/main/java/org/printing_factory/JobCreator.java - Application setup → Printer client: configures URI
src/main/java/org/printing_factory/Application.java - Printer client → IPP connection: opens connection
src/main/java/org/printing_factory/printing/Printer.java - IPP connection → IPP printer: sends IPP requests
src/main/java/org/printing_factory/printing/IppConnection.java - Job creator → Create job: creates job
src/main/java/org/printing_factory/JobCreator.java - Create job → Send document: returns sender
src/main/java/org/printing_factory/printing/ipp/jobs/CreateJob.java - Job creator → Print job queue: enqueues jobs
src/main/java/org/printing_factory/Application.java - Application setup → Job sender: starts worker
src/main/java/org/printing_factory/Application.java - Job sender → Print job queue: takes jobs
src/main/java/org/printing_factory/Application.java - Job sender → Send document: sends document
src/main/java/org/printing_factory/JobsSender.java - Send document → IPP connection: sends request
src/main/java/org/printing_factory/printing/ipp/jobs/SendDocument.java - Send document → Job attributes: returns tracker
src/main/java/org/printing_factory/printing/ipp/jobs/SendDocument.java - Application setup → Status checker: starts worker
src/main/java/org/printing_factory/Application.java - Status checker → Job attributes: checks completion
src/main/java/org/printing_factory/StatusChecker.java - Job attributes → IPP connection: queries job
src/main/java/org/printing_factory/printing/ipp/jobs/GetJobAttributes.java