<class name="network.Source">
<description xmlns="">
Default mapping for class network.Source
</description>
<map-to xml="Source"/>
<field name="name" type="java.lang.String" required="true">
<bind-xml node="element" />
</field>
<field name="delay" type="tools.DistributionSampler" required="true" set-method="initialiseDelay" get-method="getDelay">
<bind-xml auto-naming="deriveByClass" node="element" location="delay"/>
</field>
<field name="batchSize" type="tools.DistributionSampler">
<bind-xml auto-naming="deriveByClass" node="element" location="batchSize"/>
</field>
</class>
Часть auto-naming = "diverveByClass" означает, что если мы отправим ее, она свяжет имя узла для элемента, встроенного в задержку, с эквивалентным классом, который, как он надеется, расширяет distributionSampler.
Таким образом, он с удовольствием обработает следующий xml:
<Source name="asd">
<delay>
<Deterministic time="234" />
</delay>
<batchSize>
<Erlang K="234" Theta="234" />
</batchSize>
</Source>
Будет использовать файлы сопоставления для Deterministic и Erlang для сопоставления его с экземплярами класса, которые расширяют DistributionSampler.