한국어 | English
Java binding spec · Java binding guide
Java bindings reference¶
The writing rules follow the
Reference-writing guide
(Korean-only). This is the bindings layer (the Core C ABI's language projection) — not the
framework layer, which has its own reference tree under framework/doc/framework/java/reference/.
Kotlin shares this same bindings runtime (no separate bindings/kotlin/ contract source exists —
only bindings/kotlin/samples/), so this tree also serves as Kotlin's bindings-layer reference.
Categories follow the .NET binding spec's Contract Folder Layout as the
common architecture map. As with dotnet and cpp, this tree has five categories, not six —
systems.zlink.contracts has no service package; SPOT/Actor exists only at the framework layer.
The Contract-source column below is verified against the actual package listing, not copied from
spec prose.
Two Java-specific notes carried into every category below:
- Several files under
contracts/are package-private, not public contract, even though they live in a public package (ContractAccess.RoutingIdAccess-style internal registration hooks, and specific overloads likeZlink.sleep(int)/Zlink.errno()/Zlink.multipartClose(Message[])that have nopublicmodifier — onlyZlink.sleep(Duration)is public). Each entry below states explicitly which overloads are actually reachable. - Options facades are concrete classes constructed with a public constructor (
new ContextOptions(context)), not obtained only through a property/method the way dotnet'sIContext.Optionsworks — thoughContext.options()also exists and is the normal path.
Locale convention¶
Every bindings/doc/spec/<lang>/ document is English-original, Korean-translation (unlike the
framework's interface-catalog convention). This reference tree follows the same direction: write
.en.md first, .ko.md second, and every spec citation links to the same-locale spec file.
Category¶
| Category | Status | Contract source (verified against systems.zlink.contracts/) |
|---|---|---|
| Core | Drafted | contracts/core/: Context.java, ContextOptions.java, ContextOption.java, RoutingId.java, Zlink.java, ZlinkVersion.java, AtomicCounter.java, ZlinkStopwatch.java, ZlinkThread.java |
| Messaging | Drafted | contracts/messaging/: Message.java, Received.java, ReplyToken.java, StreamPacket.java, TopicMessage.java, SubscriptionEvent.java, SubscriptionEntry.java, SendOperation.java, SendSubmitOperation.java, RequestOperation.java, RequestSubmitOperation.java, TimeoutSubmitOperation.java, ReplyOperation.java, ReplySubmitOperation.java, MessageBuilderStage.java |
| Sockets | Drafted | contracts/sockets/: Socket.java, StreamSocket.java, MessageSocketContracts/{PairSocket,DealerSocket}.java, RoutedSocketContracts/RouterSocket.java, PubSubSocketContracts/{PubSocket,SubSocket,XPubSocket,XSubSocket}.java, SocketOptionFacades/*.java, SocketEnums/*.java |
| Eventing | Drafted | contracts/eventing/: Poller.java, ZlinkTimer.java, SocketMonitor.java, EventEnums/*.java, EventModels/*.java |
| Errors | Drafted | contracts/errors/: ErrorCategory.java, Errors/*.java (exception classes + result enums) |
This document tree is wired into mkdocs.yml nav.