Details

    • Type: Sub-task
    • Status: New (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      On one side, to use it as a try-with-resource, you need to declare it right in the try();

            try(AutoCloseable handler = writeOnlyMap.listeners().onWrite(written ->
                  System.out.printf("Written (via onWrite): %s%n", written.get()))) {
               Map<String, String> entries = new HashMap<>();
               entries.put("key1", "value1");
               entries.put("key2", "value2");
      
               writeOnlyMap.evalMany(entries, (v, writeView) -> writeView.set(v))
                  .get(); // Wait for completable future
            }
      

      So its usability is mostly designed for unit tests since listeners tend to be set and removed at a later stage. IOW, listeners are not generally a short-lived object.

      The other aspect that is clunky to use is the fact that AutoCloseable's close() throws Exception, which again makes it ackward to use for example if lambdas.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                galder.zamarreno Galder Zamarreño
                Reporter:
                galder.zamarreno Galder Zamarreño
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: