Search code examples
javaclasscompositesql2o

How to name a composite class like this?


Our team are using Spring Boot 2 with sql2o as db library. In the paste in our services, for trivial methods, we simply call the repository and returns the model. For example, if I have a Supplier table, I had in the service

@Override
public List<Supplier> findAll() {
    return supplierRepository.findAll();
}

Now, since in our controllers we need 99% in the cases other objects correlated to the model, I would create a composite class that holds the model and other models. For example:

@Override
public List<UnknownName> findAll() {
    List<Supplier> suppliers = supplierRepository.findAll();

    List<UnknownName> res = new ArrayList<>();

    UnknownName unknownName;
    LegalOffice legalOffice;

    if (suppliers != null) {
        for (Supplier supplier in suppliers) {
            unknownName = new UnknownName();
            unknownName.setSupplier(supplier);
            legalOffice = legalOfficeService.findByIdlegaloffice(supplier.getLegalofficeid);
            unknownName.setLegalOffice(legalOffice);
            res.add(unknownName);
        }
    }

    return res;
}

What should the name of class UnknownName?

PS: I simplified the code for better redability, but I use a generic enrich() function that I call for all the find methods, so I don't have to dupe the code.


Solution

  • In the end, I adopted the suffix Aggregator, following the Domain-driven design wording.