Guest User

Untitled

a guest
Nov 18th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. public static BaseProduct input(Class<? extends BaseProduct> productClass, InputStream in) throws IOException {
  2. DataInputStream dataInputStream = new DataInputStream(in);
  3. String brand = dataInputStream.readUTF();
  4. String productName = dataInputStream.readUTF();
  5. BigDecimal price = new BigDecimal(dataInputStream.readUTF());
  6. int totalQuantity = dataInputStream.readInt();
  7. int defectiveQuantity = dataInputStream.readInt();
  8. List<Review> reviews = new ArrayList<>();
  9. for (Review review : reviews) {
  10. String userName = dataInputStream.readUTF();
  11. int rating = dataInputStream.readInt();
  12. }
  13. return createProductInstance(brand, productName, price, totalQuantity, defectiveQuantity, reviews, productClass);
  14. }
  15.  
  16. private static BaseProduct createProductInstance(String brand, String productName, BigDecimal price, int totalQuantity, int defectiveQuantity, List<Review> reviews, Class<? extends BaseProduct> productClass) {
  17. try {
  18. Constructor<? extends BaseProduct> productConstructor = productClass.getConstructor(String.class, String.class, BigDecimal.class, int.class, int.class, List.class);
  19. return productConstructor.newInstance(brand, productName, price, totalQuantity, defectiveQuantity, reviews);
  20. } catch (NoSuchMethodException | IllegalAccessException | InstantiationException | InvocationTargetException e) {
  21. throw new IllegalArgumentException("Could not create product instance: " + e);
  22. }
  23. }
Add Comment
Please, Sign In to add comment