A class which mixes in the Fillable trait may be used as a
target of a Record'sfill() method.
A class which mixes in Fillable must use the
IPFIXExtract
annotation to mark the variables that it wishes to be filled with
the information element values from a Record.
If a variable is marked but the corresponding element is not
present in the record from which the object is being filled, the
variables's value is left unchanged.
The IPFIXExtract annotation defines two values that are used to
create a FieldSpec that is used to specify which element in
the Record is to used to fill the annotated variable. The two
values are:
name is a String and must be specified: it is
the name of the information element to use.
nth is an int that is optional: it specifies which name
element to choose when multiple name elements are present on
the record; the first name field is chosen when nth is not
specified.
It is important that the types of the variables in the
Fillable object match the IPFIX data types of the referenced
IPFIX fields. If they do not, a ClassCastException will be
thrown when the record is filled. See Record for a mapping
from IPFIX data type to Java data type.
Example:
Here is a class whose sport and dport variables can
be filled by a record's sourceTransportPort and
destinationTransportPort elements:
class Ports extends Fillable {
@IPFIXExtract(name="sourceTransportPort")
var sport: Int = _
@IPFIXExtract(name="destinationTransportPort")
var dport: Int = _
}
A class which mixes in the Fillable trait may be used as a target of a Record's fill() method.
A class which mixes in Fillable must use the IPFIXExtract annotation to mark the variables that it wishes to be filled with the information element values from a Record. If a variable is marked but the corresponding element is not present in the record from which the object is being filled, the variables's value is left unchanged.
The IPFIXExtract annotation defines two values that are used to create a FieldSpec that is used to specify which element in the Record is to used to fill the annotated variable. The two values are:
nameis aStringand must be specified: it is the name of the information element to use.nthis anintthat is optional: it specifies whichnameelement to choose when multiplenameelements are present on the record; the firstnamefield is chosen whennthis not specified.It is important that the types of the variables in the Fillable object match the IPFIX data types of the referenced IPFIX fields. If they do not, a ClassCastException will be thrown when the record is filled. See Record for a mapping from IPFIX data type to Java data type.
Here is a class whose
sportanddportvariables can be filled by a record'ssourceTransportPortanddestinationTransportPortelements:Record
IPFIXExtract