![JAR search and dependency download from the Maven repository](/logo.png)
io.legaldocml.business.builder.BusinessBuilder Maven / Gradle / Ivy
package io.legaldocml.business.builder;
import io.legaldocml.akn.AknObject;
import io.legaldocml.akn.AkomaNtoso;
import io.legaldocml.akn.AkomaNtosoContext;
import io.legaldocml.akn.DocumentType;
import io.legaldocml.business.BusinessProvider;
/**
* @author Jacques Militello
*/
public abstract class BusinessBuilder {
private final BusinessProvider provider;
private final AkomaNtoso akomaNtoso;
private final MetaBuilder metaBuilder;
private final HierarchyStrategy strategy;
public BusinessBuilder(BusinessProvider provider, DocumentType documentType,HierarchyStrategy strategy) {
this.provider = provider;
this.akomaNtoso = new AkomaNtoso<>(newAkomaNtosoContext());
this.akomaNtoso.setDocumentType(documentType);
this.metaBuilder = newMetaBuilder();
this.strategy = strategy;
}
public final MetaBuilder getMetaBuilder() {
return this.metaBuilder;
}
public final BusinessProvider getProvider() {
return this.provider;
}
public final HierarchyStrategy getStrategy() {
return this.strategy;
}
protected abstract AkomaNtosoContext newAkomaNtosoContext();
protected abstract MetaBuilder newMetaBuilder();
@SuppressWarnings("unchecked")
public final AkomaNtoso getAkomaNtoso() {
return (AkomaNtoso) akomaNtoso;
}
public final T newPartBuilder(AknObject parent, String businessPartBuilderName) {
return this.provider.newPartBuilder(this, parent, businessPartBuilderName);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy