Packages

abstract class Record extends AnyRef

A Record instance represents an IPFIX data record. Each record contains a set of values which are described by the record's Template.

Each IPFIX data type can be mapped to its Java data type as in the table below:

  • IPFIX data type ⟶ Scala data type
  • octetArray ⟶ Seq[Byte]1
  • unsigned8Int
  • unsigned16Int
  • unsigned32Long
  • unsigned64Long2
  • signed8Int
  • signed16Int
  • signed32Int
  • signed64Long
  • float32Float
  • float64Double
  • booleanBoolean
  • macAddressSeq[Byte]1,3
  • stringString
  • dateTimeSecondsInstant
  • dateTimeMillisecondsInstant
  • dateTimeMicrosecondsInstant
  • dateTimeNanosecondsInstant
  • ipv4AddressIPv4Address
  • ipv6AddressIPv6Address
  • basicListBasicList
  • subTemplateListSubTemplateList
  • subTemplateMultiListSubTemplateMultiList

1 The Seq[Byte] returned for octetArray or macAddress is a read-only view on the underlying record data. If you want to save the data without keeping the full record data from being garbage collected, you should copy the Seq.

2 Long is signed, so an unsigned64 with its high bit set will appear as negative.

3 The Seq[Byte] returned for a macAddress will always be of length 6.

A record's fields are described by a Template, which may be retrieved from the record using the #template value. Using the data from the template, the user can cast the record's objects to the appropriate Java type.

Alternatively, a record's values can be retrieved in a typed manner using either a FieldExtractor, or a Fillable object. A FieldExtractor acts as a reference to a particular field in a record regardless of the current template of the record. A Fillable object is an object which contains fields that have been marked with the IPFIXExtract annotation. A record's fill() method can be used to "fill in" the object's fields from the record.

See also

FieldExtractor

Fillable

Template

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Record
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Record(template: Template)

    template

    The Template that describes this Record.

    Attributes
    protected

Abstract Value Members

  1. abstract def apply(idx: Int): Any

    The value of the field in this record at the given field position within the Template.

    The value of the field in this record at the given field position within the Template.

    Exceptions thrown

    java.lang.IndexOutOfBoundsException if the index is out of range.

  2. abstract def detach(): Record

    Modifies the current record so that it carries as little data as necessary to exist by itself.

    Modifies the current record so that it carries as little data as necessary to exist by itself. More specifically, it detaches itself from as much of its parent Message's data as possible. If non-complete subsets of Records are going to be kept in memory, they should be detached so they don't carry the memory of any discarded Records by association to their parent Messages.

    returns

    the record itself (not a new record)

  3. abstract def exportTime: Option[Instant]

    Gets the export time of the Message that generated this record as an Option.

    Gets the export time of the Message that generated this record as an Option.

    returns

    The export time of the Message or None if the record represents a list element or was not read from a Message.

  4. abstract def message: Option[Message]

    Returns the Message object from which the Record was read as an Option or scala.None if the Record was not read from a Message.

  5. abstract def observationDomain: Option[Int]

    Returns the observation domain of the Message that generated this record as an Option or None if the record represents a list element or was not read from a Message.

  6. abstract def octetLength: Int

    Gets the number of octets required to write the record to a stream.

Concrete 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 allBasicListElements(): Set[InfoElement]

    Gets a Set containing the InfoElement used by any basic list on the record and by the record's ListElements.

  5. final def allTemplates(): Set[Template]

    Gets a Set containing the Template used by the record and the Templates used by any ListElements in the record.

  6. def apply(ie: InfoElement): Any

    The value of the first occurrence of the specified Information Element in this Record.

    The value of the first occurrence of the specified Information Element in this Record.

    Since

    1.3.1

    Exceptions thrown

    java.lang.IndexOutOfBoundsException if this Record's Template does not contain that Information Element.

  7. def apply(spec: FieldSpec): Any

    The value of the field within this record matching the given specification.

    The value of the field within this record matching the given specification.

    Since

    1.3.1

    Exceptions thrown

    java.lang.IndexOutOfBoundsException if the Template does not contain the FieldSpec.

  8. final def apply[T](extractor: FieldExtractor[T]): Option[T]

    Gets the value within the record for the field referenced by the extractor as an Option.

    Gets the value within the record for the field referenced by the extractor as an Option.

    T

    The result type of the extractor.

    extractor

    A field extractor.

    returns

    The value for the referenced field, or scala.None if the extractor does not match a field in this record.

  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. final def fields: Iterator[Field]

    Returns an Iterator where iteration yields a Field.

  14. final def fill(obj: Fillable): Unit

    Fills the fields of obj that are marked with the IPFIXExtract annotation from this record.

    Fills the fields of obj that are marked with the IPFIXExtract annotation from this record.

    obj

    the object to fill

    See also

    IPFIXExtract

  15. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  16. def formatted: String
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final lazy val size: Int

    Gets the number of fields in the record.

  24. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  25. final val template: Template
  26. def toBuffer(outbuf: ByteBuffer, session: Session): ByteBuffer

    Appends this Record to a buffer for writing to an IPFIX stream.

    Appends this Record to a buffer for writing to an IPFIX stream. The function uses the template IDs in session if the Record contains SubTemplateLists or a SubTemplateMultiList. Assumes the Template(s) used by the Record have already been added to the Session and appeneded to the buffer.

  27. def toString(): String
    Definition Classes
    Record → AnyRef → Any
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped