.. java:import:: org.motechproject.mds.domain ClassData .. java:import:: org.motechproject.mds.domain Entity .. java:import:: java.util List EntityInfrastructureBuilder =========================== .. java:package:: org.motechproject.mds.builder :noindex: .. java:type:: public interface EntityInfrastructureBuilder The \ ``EntityInfrastructureBuilder``\ is responsible for building infrastructure for a given entity: repository, interface and service classes. Methods ------- buildHistoryInfrastructure ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: List buildHistoryInfrastructure(String className) :outertype: EntityInfrastructureBuilder Builds the repository, interface and implementation of this interface classes for the given history class. The names for classes are generated by \ :java:ref:`org.motechproject.mds.util.ClassName.getRepositoryName(String)`\ , \ :java:ref:`org.motechproject.mds.util.ClassName.getInterfaceName(String)`\ , \ :java:ref:`org.motechproject.mds.util.ClassName.getServiceName(String)`\ , respectively. :param className: a name of history class. :return: a list of classes that represents infrastructure for the history class. buildInfrastructure ^^^^^^^^^^^^^^^^^^^ .. java:method:: List buildInfrastructure(Entity entity) :outertype: EntityInfrastructureBuilder Builds the repository, interface and implementation of this interface classes for the given entity. The names for classes are generated by \ :java:ref:`org.motechproject.mds.util.ClassName.getRepositoryName(String)`\ , \ :java:ref:`org.motechproject.mds.util.ClassName.getInterfaceName(String)`\ , \ :java:ref:`org.motechproject.mds.util.ClassName.getServiceName(String)`\ , respectively. :param entity: an instance of \ :java:ref:`org.motechproject.mds.domain.Entity`\ :return: a list of classes that represents infrastructure for the given entity.