ArgonautJson
Type members
Value members
Concrete methods
Inherited methods
==Responsibility==
Generally, whoever creates the visitor should be responsible for closing it,
i.e. not intermediate transform(v: Visitor)
methods themselves.
==Responsibility==
Generally, whoever creates the visitor should be responsible for closing it,
i.e. not intermediate transform(v: Visitor)
methods themselves.
==Self Closing==
Given that common usage is most often single-valued (e.g. "{}"),
rather than multi-valued (e.g. "{} {} {}"), Visitors may self-close
(e.g. visitor.map{v => Try(v.close); v)
} after a single value to
prevent resource leaks, but are encouraged to expose both forms
(i.e. single/multiple), if supportable.
==Multiple close() calls/Idempotency==
Visitors are encouraged to respond gracefully if close() is called multiple times.
If an underlying resource would throw if already closed, this may mean adding a
private var isClosed: Boolean
field to prevent multiple calls.
- Definition Classes
- Visitor -> AutoCloseable
- Inherited from
- Visitor