class XMLEventReader extends AbstractIterator[XMLEvent] with ProducerConsumerIterator[XMLEvent]
Main entry point into creating an event-based XML parser. Treating this as a scala.collection.Iterator will provide access to the generated events.
- Annotations
- @deprecated
- Deprecated
- (Since version 1.1.1) Consider javax.xml.stream.XMLEventReader instead. 
- Alphabetic
- By Inheritance
- XMLEventReader
- ProducerConsumerIterator
- AbstractIterator
- Iterator
- TraversableOnce
- GenTraversableOnce
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- 
      
      
      
        
      
    
      
        
        new
      
      
        XMLEventReader(src: Source)
      
      
      - src
- A scala.io.Source for XML data to parse 
 
Type Members
- 
      
      
      
        
      
    
      
        
        class
      
      
        GroupedIterator[B >: A] extends AbstractIterator[collection.Seq[B]] with collection.Iterator[collection.Seq[B]]
      
      
      - Definition Classes
- Iterator
 
Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        ++[B >: XMLEvent](that: ⇒ GenTraversableOnce[B]): collection.Iterator[B]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        /:[B](z: B)(op: (B, XMLEvent) ⇒ B): B
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        :\[B](z: B)(op: (XMLEvent, B) ⇒ B): B
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        val
      
      
        EndOfStream: POISON.type
      
      
      - Definition Classes
- XMLEventReader → ProducerConsumerIterator
 
- 
      
      
      
        
      
    
      
        
        val
      
      
        MaxQueueSize: Int
      
      
      - Definition Classes
- XMLEventReader → ProducerConsumerIterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        addString(b: StringBuilder): StringBuilder
      
      
      - Definition Classes
- TraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        addString(b: StringBuilder, sep: String): StringBuilder
      
      
      - Definition Classes
- TraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
      
      
      - Definition Classes
- TraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        aggregate[B](z: ⇒ B)(seqop: (B, XMLEvent) ⇒ B, combop: (B, B) ⇒ B): B
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        available(): Boolean
      
      
      - Definition Classes
- ProducerConsumerIterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        buffered: collection.BufferedIterator[XMLEvent]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      - Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        collect[B](pf: PartialFunction[XMLEvent, B]): collection.Iterator[B]
      
      
      - Definition Classes
- Iterator
- Annotations
- @migration
- Migration
- (Changed in version 2.8.0) - collecthas changed. The previous behavior can be reproduced with- toSeq.
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        collectFirst[B](pf: PartialFunction[XMLEvent, B]): Option[B]
      
      
      - Definition Classes
- TraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        contains(elem: Any): Boolean
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        copyToArray[B >: XMLEvent](xs: Array[B], start: Int, len: Int): Unit
      
      
      - Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        copyToArray[B >: XMLEvent](xs: Array[B]): Unit
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        copyToArray[B >: XMLEvent](xs: Array[B], start: Int): Unit
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        copyToBuffer[B >: XMLEvent](dest: Buffer[B]): Unit
      
      
      - Definition Classes
- TraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        corresponds[B](that: GenTraversableOnce[B])(p: (XMLEvent, B) ⇒ Boolean): Boolean
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        count(p: (XMLEvent) ⇒ Boolean): Int
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        drop(n: Int): collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        dropWhile(p: (XMLEvent) ⇒ Boolean): collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        duplicate: (collection.Iterator[XMLEvent], collection.Iterator[XMLEvent])
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        equals(arg0: Any): Boolean
      
      
      - Definition Classes
- AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        exists(p: (XMLEvent) ⇒ Boolean): Boolean
      
      
      - Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        filter(p: (XMLEvent) ⇒ Boolean): collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        filterNot(p: (XMLEvent) ⇒ Boolean): collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        finalize(): Unit
      
      
      - Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        find(p: (XMLEvent) ⇒ Boolean): Option[XMLEvent]
      
      
      - Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        flatMap[B](f: (XMLEvent) ⇒ GenTraversableOnce[B]): collection.Iterator[B]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        fold[A1 >: XMLEvent](z: A1)(op: (A1, A1) ⇒ A1): A1
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        foldLeft[B](z: B)(op: (B, XMLEvent) ⇒ B): B
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        foldRight[B](z: B)(op: (XMLEvent, B) ⇒ B): B
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        forall(p: (XMLEvent) ⇒ Boolean): Boolean
      
      
      - Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        foreach[U](f: (XMLEvent) ⇒ U): Unit
      
      
      - Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        grouped[B >: XMLEvent](size: Int): GroupedIterator[B]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hasDefiniteSize: Boolean
      
      
      - Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hasNext: Boolean
      
      
      - Definition Classes
- ProducerConsumerIterator → Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      - Definition Classes
- AnyRef → Any
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        indexOf[B >: XMLEvent](elem: B, from: Int): Int
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        indexOf[B >: XMLEvent](elem: B): Int
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        indexWhere(p: (XMLEvent) ⇒ Boolean, from: Int): Int
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        indexWhere(p: (XMLEvent) ⇒ Boolean): Int
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        interruptibly[A](body: ⇒ A): Option[A]
      
      
      - Definition Classes
- ProducerConsumerIterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        isEmpty: Boolean
      
      
      - Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      - Definition Classes
- Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        isTraversableAgain: Boolean
      
      
      - Definition Classes
- Iterator → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        length: Int
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        map[B](f: (XMLEvent) ⇒ B): collection.Iterator[B]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        max[B >: XMLEvent](implicit cmp: Ordering[B]): XMLEvent
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        maxBy[B](f: (XMLEvent) ⇒ B)(implicit cmp: Ordering[B]): XMLEvent
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        min[B >: XMLEvent](implicit cmp: Ordering[B]): XMLEvent
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        minBy[B](f: (XMLEvent) ⇒ B)(implicit cmp: Ordering[B]): XMLEvent
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        mkString: String
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        mkString(sep: String): String
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        mkString(start: String, sep: String, end: String): String
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        ne(arg0: AnyRef): Boolean
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        next(): XMLEvent
      
      
      - Definition Classes
- ProducerConsumerIterator → Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        nonEmpty: Boolean
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notify(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native()
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        padTo[A1 >: XMLEvent](len: Int, elem: A1): collection.Iterator[A1]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        partition(p: (XMLEvent) ⇒ Boolean): (collection.Iterator[XMLEvent], collection.Iterator[XMLEvent])
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        patch[B >: XMLEvent](from: Int, patchElems: collection.Iterator[B], replaced: Int): collection.Iterator[B]
      
      
      - Definition Classes
- Iterator
 
-  val preserveWS: Boolean
- 
      
      
      
        
      
    
      
        
        def
      
      
        produce(x: XMLEvent): Unit
      
      
      - Definition Classes
- ProducerConsumerIterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        product[B >: XMLEvent](implicit num: Numeric[B]): B
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        reduce[A1 >: XMLEvent](op: (A1, A1) ⇒ A1): A1
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        reduceLeft[B >: XMLEvent](op: (B, XMLEvent) ⇒ B): B
      
      
      - Definition Classes
- TraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        reduceLeftOption[B >: XMLEvent](op: (B, XMLEvent) ⇒ B): Option[B]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        reduceOption[A1 >: XMLEvent](op: (A1, A1) ⇒ A1): Option[A1]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        reduceRight[B >: XMLEvent](op: (XMLEvent, B) ⇒ B): B
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        reduceRightOption[B >: XMLEvent](op: (XMLEvent, B) ⇒ B): Option[B]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        reversed: List[XMLEvent]
      
      
      - Attributes
- protected[this]
- Definition Classes
- TraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        sameElements(that: collection.Iterator[_]): Boolean
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        scanLeft[B](z: B)(op: (B, XMLEvent) ⇒ B): collection.Iterator[B]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        scanRight[B](z: B)(op: (XMLEvent, B) ⇒ B): collection.Iterator[B]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        seq: collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        size: Int
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        sizeHintIfCheap: Int
      
      
      - Attributes
- protected[scala.collection]
- Definition Classes
- GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        slice(from: Int, until: Int): collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        sliceIterator(from: Int, until: Int): collection.Iterator[XMLEvent]
      
      
      - Attributes
- protected
- Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        sliding[B >: XMLEvent](size: Int, step: Int): GroupedIterator[B]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        span(p: (XMLEvent) ⇒ Boolean): (collection.Iterator[XMLEvent], collection.Iterator[XMLEvent])
      
      
      - Definition Classes
- Iterator
 
-  def stop(): Unit
- 
      
      
      
        
      
    
      
        
        def
      
      
        sum[B >: XMLEvent](implicit num: Numeric[B]): B
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      - Definition Classes
- AnyRef
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        take(n: Int): collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        takeWhile(p: (XMLEvent) ⇒ Boolean): collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        to[Col[_]](implicit cbf: CanBuildFrom[Nothing, XMLEvent, Col[XMLEvent]]): Col[XMLEvent]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toArray[B >: XMLEvent](implicit arg0: ClassTag[B]): Array[B]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toBuffer[B >: XMLEvent]: Buffer[B]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toIndexedSeq: collection.immutable.IndexedSeq[XMLEvent]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toIterable: collection.Iterable[XMLEvent]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toIterator: collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toList: List[XMLEvent]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toMap[T, U](implicit ev: <:<[XMLEvent, (T, U)]): Map[T, U]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toSeq: collection.Seq[XMLEvent]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toSet[B >: XMLEvent]: Set[B]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toStream: collection.immutable.Stream[XMLEvent]
      
      
      - Definition Classes
- Iterator → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      - Definition Classes
- Iterator → AnyRef → Any
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toTraversable: collection.Traversable[XMLEvent]
      
      
      - Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        toVector: Vector[XMLEvent]
      
      
      - Definition Classes
- TraversableOnce → GenTraversableOnce
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @throws( ... )
 
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      - Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        withFilter(p: (XMLEvent) ⇒ Boolean): collection.Iterator[XMLEvent]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        zip[B](that: collection.Iterator[B]): collection.Iterator[(XMLEvent, B)]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        zipAll[B, A1 >: XMLEvent, B1 >: B](that: collection.Iterator[B], thisElem: A1, thatElem: B1): collection.Iterator[(A1, B1)]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        def
      
      
        zipWithIndex: collection.Iterator[(XMLEvent, Int)]
      
      
      - Definition Classes
- Iterator
 
- 
      
      
      
        
      
    
      
        
        object
      
      
        POISON extends XMLEvent with Product with Serializable
      
      
      - Attributes
- protected