
package de.ivu.elect.business.gruppe.boundary;

import java.io.Serializable;

import de.ivu.elect.business.gruppe.entity.PolitischeGruppe;

import de.ivu.elect.jee.entity.customdata.DefaultCustomData;

import de.ivu.elect.business.gruppe.boundary.GruppeFactory;
import javax.inject.Inject;

/**
 * Diese Klasse liefert nur eine leere Instanz, für konkrete Implementierungen überschreiben
 */
public class PolitischeGruppeFactory implements Serializable {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient GruppeFactory superFactory;

  public PolitischeGruppe create() {
        PolitischeGruppe entity = new PolitischeGruppe(
              createCustomData()
          );

    initDefaultAttributes(entity);

    return entity;
  }



  public void initDefaultAttributes(PolitischeGruppe entity) {
    superFactory.initDefaultAttributes(entity);
  }

  public DefaultCustomData createCustomData() {
        if (superFactory==null) {
        // Testfälle...
        return de.ivu.elect.jee.entity.customdata.EmptyCustomData.INSTANCE;
    }
    return superFactory.createCustomData();
      }
}
