in src/core/org.openjdk.jmc.flightrecorder/src/main/java/org/openjdk/jmc/flightrecorder/internal/parser/ItemBuilder.java [396:561]
static IItemFactory createItemFactory(final StructContentType<IItem> et, List<ValueField> dataStructure) {
switch (dataStructure.size()) {
case 0:
return new IItemFactory() {
@Override
public IItem createEvent(Object ... values) {
return new Item1(et, null);
}
};
case 1:
addFields(et, dataStructure, A1_0);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item1(et, v[0]);
}
};
case 2:
addFields(et, dataStructure, A1_0, A3_1);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item3(et, v[0], v[1], null);
}
};
case 3:
addFields(et, dataStructure, A1_0, A3_1, A3_2);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item3(et, v[0], v[1], v[2]);
}
};
case 4:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item5(et, v[0], v[1], v[2], v[3], null);
}
};
case 5:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item5(et, v[0], v[1], v[2], v[3], v[4]);
}
};
case 6:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item7(et, v[0], v[1], v[2], v[3], v[4], v[5], null);
}
};
case 7:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item7(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6]);
}
};
case 8:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item9(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], null);
}
};
case 9:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7, A9_8);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item9(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8]);
}
};
case 10:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7, A9_8, A11_9);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item11(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], null);
}
};
case 11:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7, A9_8, A11_9, A11_10);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item11(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10]);
}
};
case 12:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7, A9_8, A11_9, A11_10, A13_11);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item13(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11],
null);
}
};
case 13:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7, A9_8, A11_9, A11_10, A13_11,
A13_12);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item13(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11],
v[12]);
}
};
case 14:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7, A9_8, A11_9, A11_10, A13_11,
A13_12, A15_13);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item15(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11],
v[12], v[13], null);
}
};
case 15:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7, A9_8, A11_9, A11_10, A13_11,
A13_12, A15_13, A15_14);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item15(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11],
v[12], v[13], v[14]);
}
};
case 16:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7, A9_8, A11_9, A11_10, A13_11,
A13_12, A15_13, A15_14, A17_15);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item17(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11],
v[12], v[13], v[14], v[15], null);
}
};
case 17:
addFields(et, dataStructure, A1_0, A3_1, A3_2, A5_3, A5_4, A7_5, A7_6, A9_7, A9_8, A11_9, A11_10, A13_11,
A13_12, A15_13, A15_14, A17_15, A17_16);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... v) {
return new Item17(et, v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11],
v[12], v[13], v[14], v[15], v[16]);
}
};
default:
addFields(et, dataStructure);
return new IItemFactory() {
@Override
public IItem createEvent(Object ... values) {
return new ArrayItem(et, values.clone());
}
};
}
}