I'm trying to design structure that will hold realtime data. Data will be different types - so I want the structure can hold them, eg.
Code:
class RealtimeRecord {
   Tank tank1 = new Tank();
   Tank tank2 = new Tank();
   [...]
   Engine engine1 = new Engine();
   [...]
}

class Tank {
   Parameter<Volume> vol = new Parameter<>();
   Parameter<Temperature> temperature = new Parameter<>();
}

class Engine {
   Parameter<RPM> rpm = new Parameter<>();
   Parameter<Temperature> temp = new Parameter<>();
   Parameter<Boolean> enabled = new Parameter<>();
}
Maybe instead of templates try different approach:
Code:
class Tank {
   Parameter vol = new Parameter(Parameter.VOLUME);
   Parameter temp = new Parameter(Parameter.TEMP);
   Parameter enabled = new Parameter(Parameter.BOOLEAN);
}

void someMethod( Tank tank ) {
   tank.getVolume().setValue(10, Parameter.VOLUME.LITER );
   String volume = tank.getVolume().get(Parameter.VOLUME.CUBICMETER);
}
I need the structure to take as small amount of memory as possible becouse there will be lots of objectes held in memory (realtime data).
Any advices for good design ? Or maybe there are some already made patterns ?