Question: each item with a statement below.
Answer: g. hardware
If it stores any type of objects mixed, use Object as storage class. All classes inherit from Object and for primitives use their respective wrapper classes. Or just use one of the bazillion container classes that already exist.
You can adjust the number of copies you want, print range (a few pages or all of them), select a printer to print to and preferences that will be unique to your printer model.