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

import java.io.Serializable;

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

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

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

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

  private static final long serialVersionUID = 1L;

  @Inject
  private transient PolitischeGruppeFactory superFactory;

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

    initDefaultAttributes(entity);

    return entity;
  }



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

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