Witam czy da radę jakoś zgrabnie zrobić coś takiego, że mam 2 metody
public Maker returnMaker(EntityManager entityManager, String makerName) {
boolean check = checkMaker(entityManager, makerName);
if (check == true) {
Maker maker = new Maker();
maker = entityManager.createQuery("select e from Maker e where e.makerName = :makerName", Maker.class)
.setParameter("makerName", makerName).getSingleResult();
return maker;
} else {
System.out.println("Nie znaleziono danego producenta!!!");
return null;
}
}
oraz
public void addNewProduct(EntityManager entityManager, String productName, String makerName, Category category) {
List<Product> productList = new ArrayList<>();
Product product = new Product();
product.setProductName(productName);
product.setCategory(category);
Maker maker = new Maker();
maker = returnMaker(entityManager, makerName);
if (maker.getProduct() == null) {
productList.add(product);
} else {
productList = maker.getProduct();
productList.add(product);
}
product.setMaker(maker);
maker.setProduct(productList);
saveToDataBase(entityManager, product);
}
I teraz w momencie kiedy chce dodać nowy produkt(metoda addNewProduct) a w bazie nie ma danego Producenta to (metoda retrunMaker) zwraca mi Null lecz nie przerywa działania metody addNewProduct i wywala mi nullPoitner(wiem, że mogę złapać wyjątek i go obsłużyć lecz chciałbym aby w momencie kiedy nie zostanie znaleziony producent program przestał wykonywać daną metode)
Trochę pokombinowałem, ale jakoś jaśniej nie umiem napisać. Chcę aby nie zwracać nulla tylko jakoś przerywać działanie coś ala "break".
Z góry dziękuję za pomoc!!!