import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.aggregate._case.MultipartRequestAggregateBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.multipart.request.multipart.request.body.multipart.request.flow._case.MultipartRequestFlowBuilder;
-public class MatchInjector {
+public final class MatchInjector {
+ private MatchInjector() {
+ }
+
@SuppressWarnings("unchecked")
- public static <FROM, TO> void inject(Optional<FROM> source, TO target, short version) {
- FROM sourceResult;
+ public static <F, T> void inject(Optional<F> source, T target, short version) {
+ F sourceResult;
if (source.isPresent()) {
sourceResult = source.get();
} else if (version == EncodeConstants.OF10_VERSION_ID) {
- sourceResult = (FROM) MatchV10Convertor.defaultResult();
+ sourceResult = (F) MatchV10Convertor.defaultResult();
} else {
- sourceResult = (FROM) MatchConvertor.defaultResult();
+ sourceResult = (F) MatchConvertor.defaultResult();
}
final Map<ConvertorKey, ResultInjector<?, ?>> injectorMap = new HashMap<>();
addInjectors(injectorMap);
- final ResultInjector<FROM, TO> injection = (ResultInjector<FROM, TO>) injectorMap
+ final ResultInjector<F, T> injection = (ResultInjector<F, T>) injectorMap
.get(new ConvertorKey(version, target.getClass()));
injection.inject(sourceResult, target);
private static void addInjectors(final Map<ConvertorKey, ResultInjector<?, ?>> injectionMapping) {
// OF-1.3|List<MatchEntries> --> FlowModInputBuilder
injectionMapping.put(new ConvertorKey(OFConstants.OFP_VERSION_1_3, FlowModInputBuilder.class),
- new ResultInjector<List<MatchEntry>, FlowModInputBuilder>() {
- @Override
- public void inject(final List<MatchEntry> value,
- final FlowModInputBuilder target) {
- target.setMatch(wrapMatchV13(value).build());
- }
- });
+ (ResultInjector<List<MatchEntry>, FlowModInputBuilder>)(value, target)
+ -> target.setMatch(wrapMatchV13(value).build()));
// OF-1.3|List<MatchEntries> --> OxmFieldsActionBuilder
injectionMapping.put(new ConvertorKey(OFConstants.OFP_VERSION_1_3, SetFieldActionBuilder.class),
- new ResultInjector<List<MatchEntry>, SetFieldActionBuilder>() {
- @Override
- public void inject(final List<MatchEntry> value,
- final SetFieldActionBuilder target) {
- target.setMatchEntry(value);
- }
- });
+ (ResultInjector<List<MatchEntry>, SetFieldActionBuilder>)(value, target) -> target.setMatchEntry(value));
// OF-1.0|MatchV10Builder --> FlowModInputBuilder
injectionMapping.put(new ConvertorKey(OFConstants.OFP_VERSION_1_0, FlowModInputBuilder.class),
- new ResultInjector<MatchV10, FlowModInputBuilder>() {
- @Override
- public void inject(final MatchV10 value,
- final FlowModInputBuilder target) {
- target.setMatchV10(value);
- }
- });
+ (ResultInjector<MatchV10, FlowModInputBuilder>)(value, target) -> target.setMatchV10(value));
// OF-1.3|List<MatchEntries> --> MultipartRequestFlowBuilder
injectionMapping.put(new ConvertorKey(OFConstants.OFP_VERSION_1_3, MultipartRequestFlowBuilder.class),
- new ResultInjector<List<MatchEntry>, MultipartRequestFlowBuilder>() {
- @Override
- public void inject(final List<MatchEntry> value,
- final MultipartRequestFlowBuilder target) {
- target.setMatch(wrapMatchV13(value).build());
- }
- });
+ (ResultInjector<List<MatchEntry>, MultipartRequestFlowBuilder>)(value, target)
+ -> target.setMatch(wrapMatchV13(value).build()));
// OF-1.0|List<MatchEntries> --> MultipartRequestFlowBuilder
injectionMapping.put(new ConvertorKey(OFConstants.OFP_VERSION_1_0, MultipartRequestFlowBuilder.class),
- new ResultInjector<MatchV10, MultipartRequestFlowBuilder>() {
- @Override
- public void inject(final MatchV10 value,
- final MultipartRequestFlowBuilder target) {
- target.setMatchV10(value);
- }
- });
+ (ResultInjector<MatchV10, MultipartRequestFlowBuilder>)(value, target) -> target.setMatchV10(value));
// OF-1.3|List<MatchEntries> --> MultipartRequestAggregateBuilder
injectionMapping.put(new ConvertorKey(OFConstants.OFP_VERSION_1_3, MultipartRequestAggregateBuilder.class),
- new ResultInjector<List<MatchEntry>, MultipartRequestAggregateBuilder>() {
- @Override
- public void inject(final List<MatchEntry> value,
- final MultipartRequestAggregateBuilder target) {
- target.setMatch(wrapMatchV13(value).build());
- }
- });
+ (ResultInjector<List<MatchEntry>, MultipartRequestAggregateBuilder>)(value, target)
+ -> target.setMatch(wrapMatchV13(value).build()));
// OF-1.0|List<MatchEntries> --> MultipartRequestAggregateBuilder
injectionMapping.put(new ConvertorKey(OFConstants.OFP_VERSION_1_0, MultipartRequestAggregateBuilder.class),
- new ResultInjector<MatchV10, MultipartRequestAggregateBuilder>() {
- @Override
- public void inject(final MatchV10 value,
- final MultipartRequestAggregateBuilder target) {
- target.setMatchV10(value);
- }
- });
+ (ResultInjector<MatchV10, MultipartRequestAggregateBuilder>)(value, target) -> target.setMatchV10(value));
}
private static MatchBuilder wrapMatchV13(final List<MatchEntry> value) {