Packages

final case class DeepFieldExtractor[T] extends FieldExtractor[T] with Product with Serializable

Extracts the specified field from a Record or a Sub-Record and casts the field to a type.

A simple string returns the named IE in the top-level record:

val protoEx = DeepFieldExtractor[Short]("protocolIdentifier") val proto = protoEx.extractFrom(r.get) proto: Option[Short] = Some(6)

One or more template names may preceed the named IE. Separate the sequence of template names and the IE by DeepFieldExtractor$.delim.

val initialTcpEx = DeepFieldExtractor[Short]("yaf_tcp_rev/initialTCPFlags") val initialTcp = initialTcpEx.extractFrom(r.get) initialTcp: Option[Short] = Some(2)

Prepend the DeepFieldExtractor$.deepPrefix to either a lone IE name or a template name and IE sequence to start searching for the path at any depth within the Record.

val unionTcpEx = DeepFieldExtractor[Short]("* /unionTCPFlags") val unionTcp = unionTcpEx.extractFrom(r.get) unionTcp: Option[Short] = Some(28)

To get a BasicList containing a specific IE from a Record, wrap the IE's name ieName as "basicList[ieName]" (see DeepFieldExtractor$.wrapAsBasicList). For these, the type parameter T should always be BasicList.

val agentEx = DeepFieldExtractor[BasicList]("* /basicList[httpUserAgent]") val agent = agentEx.extractFrom(r.get) agent: Option[org.cert.netsa.io.ipfix.BasicList] = Some((BL ...))

Use the BasicList's elements method to get the contents of the BasicList:

val v = Vector.empty[String] ++ agent.get.elements

Maintains a mapping from Template to field position to improve performance when extracting a field from multiple Records that share the same Template.

T

The type to cast the field to.

See also

SimpleFieldExtractor for a simplified version

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DeepFieldExtractor
  2. Serializable
  3. Product
  4. Equals
  5. FieldExtractor
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def extractFrom(record: Record): Option[T]

    Extracts the field from a Record as an Option.

    Extracts the field from a Record as an Option.

    returns

    The value referenced from the record or None.

    Definition Classes
    DeepFieldExtractorFieldExtractor
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. val path: String
  15. def productElementNames: Iterator[String]
    Definition Classes
    Product
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from FieldExtractor[T]

Inherited from AnyRef

Inherited from Any

Ungrouped