Package akka.util

Class ByteString.ByteString1C

  • All Implemented Interfaces:
    java.io.Serializable, scala.collection.immutable.IndexedSeq<java.lang.Object>, scala.collection.immutable.IndexedSeqOps<java.lang.Object,​scala.collection.immutable.IndexedSeq,​scala.collection.immutable.IndexedSeq<java.lang.Object>>, scala.collection.immutable.Iterable<java.lang.Object>, scala.collection.immutable.Seq<java.lang.Object>, scala.collection.immutable.SeqOps<java.lang.Object,​scala.collection.immutable.Seq,​scala.collection.immutable.Seq<java.lang.Object>>, scala.collection.immutable.StrictOptimizedSeqOps<java.lang.Object,​scala.collection.immutable.IndexedSeq,​ByteString>, scala.collection.IndexedSeq<java.lang.Object>, scala.collection.IndexedSeqOps<java.lang.Object,​scala.collection.IndexedSeq,​scala.collection.IndexedSeq<java.lang.Object>>, scala.collection.Iterable<java.lang.Object>, scala.collection.IterableFactoryDefaults<java.lang.Object,​scala.collection.Iterable>, scala.collection.IterableOnce<java.lang.Object>, scala.collection.IterableOnceOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>, scala.collection.IterableOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>, scala.collection.Seq<java.lang.Object>, scala.collection.SeqOps<java.lang.Object,​scala.collection.Seq,​scala.collection.Seq<java.lang.Object>>, scala.collection.StrictOptimizedIterableOps<java.lang.Object,​scala.collection.immutable.IndexedSeq,​ByteString>, scala.collection.StrictOptimizedSeqOps<java.lang.Object,​scala.collection.immutable.IndexedSeq,​ByteString>, scala.Equals, scala.Function1<java.lang.Object,​java.lang.Object>, scala.PartialFunction<java.lang.Object,​java.lang.Object>
    Enclosing class:
    ByteString

    public static final class ByteString.ByteString1C
    extends CompactByteString
    A compact (unsliced) and unfragmented ByteString, implementation of ByteString1C.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      ByteString1C()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      ByteString $plus$plus​(ByteString that)
      Efficiently concatenate another ByteString.
      byte apply​(int idx)  
      java.nio.ByteBuffer asByteBuffer()
      Returns a read-only ByteBuffer that directly wraps this ByteString if it is not fragmented.
      scala.collection.immutable.Iterable<java.nio.ByteBuffer> asByteBuffers()
      Scala API: Returns an immutable Iterable of read-only ByteBuffers that directly wraps this ByteStrings all fragments.
      <B> int copyToArray​(java.lang.Object dest, int start, int len)  
      int copyToBuffer​(java.nio.ByteBuffer buffer)
      Copy as many bytes as possible to a ByteBuffer, starting from it's current position.
      ByteString decodeBase64()  
      java.lang.String decodeString​(java.lang.String charset)
      Decodes this ByteString using a charset to produce a String.
      java.lang.String decodeString​(java.nio.charset.Charset charset)
      Decodes this ByteString using a charset to produce a String.
      ByteString drop​(int n)  
      ByteString dropRight​(int n)  
      ByteString encodeBase64()
      Returns a ByteString which is the Base64 representation of this ByteString
      <B> int indexOf​(B elem, int from)  
      ByteIterator.ByteArrayIterator iterator()  
      int length()  
      ByteString slice​(int from, int until)  
      ByteString take​(int n)  
      byte[] toArrayUnsafe()
      Unsafe API: Use only in situations you are completely confident that this is what you need, and that you understand the implications documented below.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface scala.Function1

        apply, apply$mcDD$sp, apply$mcDF$sp, apply$mcDI$sp, apply$mcDJ$sp, apply$mcFD$sp, apply$mcFF$sp, apply$mcFI$sp, apply$mcFJ$sp, apply$mcID$sp, apply$mcIF$sp, apply$mcII$sp, apply$mcIJ$sp, apply$mcJD$sp, apply$mcJF$sp, apply$mcJI$sp, apply$mcJJ$sp, apply$mcVD$sp, apply$mcVF$sp, apply$mcVI$sp, apply$mcVJ$sp, apply$mcZD$sp, apply$mcZF$sp, apply$mcZI$sp, apply$mcZJ$sp, compose
      • Methods inherited from interface scala.collection.immutable.IndexedSeq

        applyPreferredMaxLength, canEqual, iterableFactory, sameElements, toIndexedSeq
      • Methods inherited from interface scala.collection.IndexedSeq

        stringPrefix
      • Methods inherited from interface scala.collection.IndexedSeqOps

        foldRight, headOption, knownSize, lengthCompare, lengthCompare, map, prepended, reverse, reversed, reverseIterator, search, search, stepper, view, view
      • Methods inherited from interface scala.collection.Iterable

        coll, collectionClassName, lazyZip, seq, toIterable
      • Methods inherited from interface scala.collection.IterableOnceOps

        $colon$bslash, $div$colon, addString, addString, addString, aggregate, collectFirst, copyToArray, copyToBuffer, corresponds, count, exists, find, fold, foldLeft, forall, hasDefiniteSize, max, maxBy, maxByOption, maxOption, min, minBy, minByOption, minOption, mkString, mkString, mkString, nonEmpty, product, reduce, reduceLeft, reduceLeftOption, reduceOption, reduceRight, reduceRightOption, sum, to, toBuffer, toIterator, toList, toMap, toSet, toStream, toVector
      • Methods inherited from interface scala.collection.IterableOps

        $plus$plus, companion, groupBy, groupMap, groupMapReduce, inits, isTraversableAgain, lastOption, repr, scan, scanRight, sizeIs, sliding, sliding, tails, toTraversable, transpose, withFilter, zipAll
      • Methods inherited from interface scala.PartialFunction

        andThen, andThen, applyOrElse, compose, elementWise, isDefinedAt, lift, orElse, runWith, unapply
      • Methods inherited from interface scala.collection.immutable.Seq

        toSeq
      • Methods inherited from interface scala.collection.Seq

        equals, hashCode
      • Methods inherited from interface scala.collection.SeqOps

        $colon$plus, $colon$plus$plus, $plus$colon, $plus$plus$colon, combinations, concat, contains, containsSlice, corresponds, distinct, endsWith, findLast, indexOf, indexOfSlice, indexOfSlice, indexWhere, indices, isDefinedAt, lastIndexOf, lastIndexOf$default$2, lastIndexOfSlice, lastIndexOfSlice, lastIndexWhere, lastIndexWhere, lengthIs, occCounts, permutations, prefixLength, reverseMap, scala$collection$SeqOps$$toGenericSeq, segmentLength, segmentLength, size, sizeCompare, sizeCompare, sortBy, sortWith, startsWith, startsWith$default$2, union
      • Methods inherited from interface scala.collection.StrictOptimizedIterableOps

        collect, filter, filterImpl, filterNot, flatMap, flatten, map, partition, partitionMap, scanLeft, strictOptimizedCollect, strictOptimizedConcat, strictOptimizedFlatMap, strictOptimizedFlatten, strictOptimizedMap, strictOptimizedZip, tapEach, unzip, unzip3, zip, zipWithIndex
      • Methods inherited from interface scala.collection.immutable.StrictOptimizedSeqOps

        distinctBy, patch, sorted, updated
      • Methods inherited from interface scala.collection.StrictOptimizedSeqOps

        appended, appendedAll, diff, intersect, padTo, prepended, prependedAll
    • Constructor Detail

      • ByteString1C

        public ByteString1C()
    • Method Detail

      • apply

        public byte apply​(int idx)
        Specified by:
        apply in interface scala.collection.SeqOps<java.lang.Object,​scala.collection.Seq,​scala.collection.Seq<java.lang.Object>>
        Specified by:
        apply in class ByteString
      • length

        public int length()
      • iterator

        public ByteIterator.ByteArrayIterator iterator()
        Specified by:
        iterator in interface scala.collection.IndexedSeqOps<java.lang.Object,​scala.collection.IndexedSeq,​scala.collection.IndexedSeq<java.lang.Object>>
        Specified by:
        iterator in interface scala.collection.IterableOnce<java.lang.Object>
        Overrides:
        iterator in class ByteString
      • asByteBuffer

        public java.nio.ByteBuffer asByteBuffer()
        Description copied from class: ByteString
        Returns a read-only ByteBuffer that directly wraps this ByteString if it is not fragmented.
        Specified by:
        asByteBuffer in class ByteString
      • asByteBuffers

        public scala.collection.immutable.Iterable<java.nio.ByteBuffer> asByteBuffers()
        Description copied from class: ByteString
        Scala API: Returns an immutable Iterable of read-only ByteBuffers that directly wraps this ByteStrings all fragments. Will always have at least one entry.
        Specified by:
        asByteBuffers in class ByteString
      • decodeString

        public java.lang.String decodeString​(java.lang.String charset)
        Description copied from class: ByteString
        Decodes this ByteString using a charset to produce a String. If you have a Charset instance available, use decodeString(charset: java.nio.charset.Charset instead.
        Specified by:
        decodeString in class ByteString
      • decodeString

        public java.lang.String decodeString​(java.nio.charset.Charset charset)
        Description copied from class: ByteString
        Decodes this ByteString using a charset to produce a String. Avoids Charset.forName lookup in String internals, thus is preferable to decodeString(charset: String).
        Specified by:
        decodeString in class ByteString
      • encodeBase64

        public ByteString encodeBase64()
        Description copied from class: ByteString
        Returns a ByteString which is the Base64 representation of this ByteString
        Specified by:
        encodeBase64 in class ByteString
      • take

        public ByteString take​(int n)
        Specified by:
        take in interface scala.collection.IndexedSeqOps<java.lang.Object,​scala.collection.IndexedSeq,​scala.collection.IndexedSeq<java.lang.Object>>
        Specified by:
        take in interface scala.collection.IterableOnceOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>
        Specified by:
        take in interface scala.collection.IterableOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>
        Overrides:
        take in class ByteString
      • dropRight

        public ByteString dropRight​(int n)
        Specified by:
        dropRight in interface scala.collection.IndexedSeqOps<java.lang.Object,​scala.collection.IndexedSeq,​scala.collection.IndexedSeq<java.lang.Object>>
        Specified by:
        dropRight in interface scala.collection.IterableOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>
        Specified by:
        dropRight in interface scala.collection.StrictOptimizedIterableOps<java.lang.Object,​scala.collection.immutable.IndexedSeq,​ByteString>
        Overrides:
        dropRight in class ByteString
      • drop

        public ByteString drop​(int n)
        Specified by:
        drop in interface scala.collection.IndexedSeqOps<java.lang.Object,​scala.collection.IndexedSeq,​scala.collection.IndexedSeq<java.lang.Object>>
        Specified by:
        drop in interface scala.collection.IterableOnceOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>
        Specified by:
        drop in interface scala.collection.IterableOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>
        Overrides:
        drop in class ByteString
      • indexOf

        public <B> int indexOf​(B elem,
                               int from)
        Specified by:
        indexOf in interface scala.collection.SeqOps<java.lang.Object,​scala.collection.Seq,​scala.collection.Seq<java.lang.Object>>
        Overrides:
        indexOf in class ByteString
      • slice

        public ByteString slice​(int from,
                                int until)
        Specified by:
        slice in interface scala.collection.immutable.IndexedSeqOps<java.lang.Object,​scala.collection.immutable.IndexedSeq,​scala.collection.immutable.IndexedSeq<java.lang.Object>>
        Specified by:
        slice in interface scala.collection.IndexedSeqOps<java.lang.Object,​scala.collection.IndexedSeq,​scala.collection.IndexedSeq<java.lang.Object>>
        Specified by:
        slice in interface scala.collection.IterableOnceOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>
        Specified by:
        slice in interface scala.collection.IterableOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>
        Overrides:
        slice in class ByteString
      • copyToBuffer

        public int copyToBuffer​(java.nio.ByteBuffer buffer)
        Description copied from class: ByteString
        Copy as many bytes as possible to a ByteBuffer, starting from it's current position. This method will not overflow the buffer.

        Specified by:
        copyToBuffer in class ByteString
        Parameters:
        buffer - a ByteBuffer to copy bytes to
        Returns:
        the number of bytes actually copied
      • copyToArray

        public <B> int copyToArray​(java.lang.Object dest,
                                   int start,
                                   int len)
        Specified by:
        copyToArray in interface scala.collection.IterableOnceOps<java.lang.Object,​scala.collection.Iterable,​scala.collection.Iterable>
        Overrides:
        copyToArray in class ByteString
      • toArrayUnsafe

        public byte[] toArrayUnsafe()
        Description copied from class: ByteString
        Unsafe API: Use only in situations you are completely confident that this is what you need, and that you understand the implications documented below.

        If the ByteString is backed by a single array it is returned without any copy. If it is backed by a rope of multiple ByteString instances a new array will be allocated and the contents will be copied into it before returning it.

        This method of exposing the bytes of a ByteString can save one array copy and allocation in the happy path scenario which can lead to better performance, however it also means that one MUST NOT modify the returned array, or unexpected immutable data structure contract-breaking behavior will manifest itself.

        This API is intended for users who need to pass the byte array to some other API, which will only read the bytes and never mutate then. For all other intents and purposes, please use the usual toArray method - which provide the immutability guarantees by copying the backing array.

        Overrides:
        toArrayUnsafe in class ByteString