Class AbstractBaseNCodecStreamBuilder<T,​C extends BaseNCodec,​B extends AbstractBaseNCodecStreamBuilder<T,​C,​B>>

  • Type Parameters:
    T - the stream type to build.
    C - A BaseNCodec subclass.
    B - the builder subclass.
    All Implemented Interfaces:
    java.util.function.Supplier<T>
    Direct Known Subclasses:
    BaseNCodecInputStream.AbstracBuilder, BaseNCodecOutputStream.AbstractBuilder

    public abstract class AbstractBaseNCodecStreamBuilder<T,​C extends BaseNCodec,​B extends AbstractBaseNCodecStreamBuilder<T,​C,​B>>
    extends java.lang.Object
    implements java.util.function.Supplier<T>
    Builds input and output stream instances in BaseNCodec format.
    Since:
    1.20.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private C baseNCodec  
      private boolean encode  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) B asThis()  
      protected C getBaseNCodec()
      Gets the codec to encode/decode a stream.
      protected boolean getEncode()
      Gets whether to encode or decode a stream.
      protected abstract C newBaseNCodec()
      Creates a new BaseNCodec subclass of type C.
      B setBaseNCodec​(C baseNCodec)
      Sets a BaseNCodec subclass of type C.
      B setEncode​(boolean encode)
      Sets whether we should encode all data read (true), or if false if we should decode.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.function.Supplier

        get
    • Field Detail

      • encode

        private boolean encode
    • Constructor Detail

      • AbstractBaseNCodecStreamBuilder

        public AbstractBaseNCodecStreamBuilder()
        Constructs a new instance.
    • Method Detail

      • asThis

        B asThis()
      • getBaseNCodec

        protected C getBaseNCodec()
        Gets the codec to encode/decode a stream.
        Returns:
        the codec to encode/decode a stream.
      • getEncode

        protected boolean getEncode()
        Gets whether to encode or decode a stream.
        Returns:
        whether to encode or decode a stream.
      • newBaseNCodec

        protected abstract C newBaseNCodec()
        Creates a new BaseNCodec subclass of type C.
        Returns:
        a new BaseNCodec subclass of type C.
      • setBaseNCodec

        public B setBaseNCodec​(C baseNCodec)
        Sets a BaseNCodec subclass of type C.
        Parameters:
        baseNCodec - a BaseNCodec subclass of type C.
        Returns:
        this instance.
      • setEncode

        public B setEncode​(boolean encode)
        Sets whether we should encode all data read (true), or if false if we should decode.
        Parameters:
        encode - encode or decode.
        Returns:
        this instance.