Class StreamEntity.Unmodifiable

All Implemented Interfaces:
HttpEntity, UnmodifiableBean
Enclosing class:
StreamEntity

public static class StreamEntity.Unmodifiable extends StreamEntity implements UnmodifiableBean
Unmodifiable point-in-time snapshot of the enclosing StreamEntity.

Its only behavioral override is modify(Runnable), which throws — because all mutation is funneled through modify(...), this single override freezes the entire mutation surface.

  • Constructor Details

    • Unmodifiable

      protected Unmodifiable(StreamEntity copyFrom)
      Constructor.
      Parameters:
      copyFrom - The entity to snapshot. Must not be null.
  • Method Details

    • modify

      protected StreamEntity modify(Runnable mutation)
      Description copied from class: BasicHttpEntity
      Single mutation funnel — the only choke-point through which all state changes on this bean flow.

      Every fluent setter routes through this method. The nested Unmodifiable snapshot overrides only this method to throw, which freezes the entire mutation surface with a single override.

      Overrides:
      modify in class BasicHttpEntity<StreamEntity>
      Parameters:
      mutation - The state change to apply.
      Returns:
      This object.