/*
 * Querydsl query type
 *
 *
 */
package de.ivu.elect.business.stimmeingabe.entity;

import static com.querydsl.core.types.PathMetadataFactory.*;

import com.querydsl.core.types.Path;
import com.querydsl.core.types.PathMetadata;
import com.querydsl.core.types.dsl.EntityPathBase;
import com.querydsl.core.types.dsl.NumberPath;
import com.querydsl.core.types.dsl.StringPath;
import com.querydsl.core.types.dsl.EnumPath;
import com.querydsl.core.types.dsl.DateTimePath;
import com.querydsl.core.types.dsl.SetPath;
import com.querydsl.core.types.dsl.BooleanPath;
import com.querydsl.core.types.dsl.PathInits;

@javax.enterprise.inject.Vetoed
@javax.annotation.Generated("de.ivu.takatuka")
public class QStimmeingabe extends EntityPathBase<Stimmeingabe> {

  private static final long serialVersionUID = -1;

  // Wird benötigt zur Initialisierung der Entitäten. Verhindert Schleifen, initialisiert standardmäßig aber nur direkte Referenzen, nicht mehrere Ebenen. Mehrere Ebenen müssen explizit angegeben werden.
  private static final PathInits INITS_SAFE = new PathInits("*"
	// Ergebniseingang
, "ergebniseingang.wahldurchfuehrungsgebiet"
	// GruppeImGebiet
, "gruppeImGebiet.customDataStorage"
, "gruppeImGebiet.gebiet"
, "gruppeImGebiet.gruppe"
	// Listenkandidatur
, "listenkandidatur.liste"
, "listenkandidatur.anschrift"
, "listenkandidatur.customDataStorage"
, "listenkandidatur.erreichbarkeitsanschrift"
, "listenkandidatur.foto"
, "listenkandidatur.kontoverbindung"
, "listenkandidatur.wahltermin"
, "listenkandidatur.wahl"
	// ReferendumOption
, "referendumOption.gruppeImGebiet"
, "referendumOption.wvpWahlvorschlagDaten"
);

  private static final PathInits INITS = de.ivu.elect.jee.entity.QueryDsl.DIREKT_4_EBENEN;

  public static final QStimmeingabe stimmeingabe = new QStimmeingabe("stimmeingabe");

  public final NumberPath<Long> id = createNumber("id", Long.class);

  public final StringPath anzahlEingabe = createString("anzahlEingabe");

  public final StringPath discriminator = createString("discriminator");

  public final EnumPath<de.ivu.elect.business.ergebnis.entity.Stimmenart> stimmenart = createEnum("stimmenart", de.ivu.elect.business.ergebnis.entity.Stimmenart.class);


  // Beziehungen N:1 unidirektional

  public final de.ivu.elect.business.gruppeimgebiet.entity.QGruppeImGebiet gruppeImGebiet;

  public final de.ivu.elect.business.kandidatur.entity.QListenkandidatur listenkandidatur;

  public final de.ivu.elect.business.wahlvorschlag.entity.QReferendumOption referendumOption;

  // Beziehungen N:1 bidirektional

  public final de.ivu.elect.business.stimmeingabe.entity.QErgebniseingang ergebniseingang;


  // Beziehungen 1:N bidirektional

  public final SetPath<de.ivu.elect.business.stimmeingabe.entity.Stimmeingabefehler, de.ivu.elect.business.stimmeingabe.entity.QStimmeingabefehler> stimmeingabefehlersByStimmeingabe = this.<de.ivu.elect.business.stimmeingabe.entity.Stimmeingabefehler, de.ivu.elect.business.stimmeingabe.entity.QStimmeingabefehler>createSet("stimmeingabefehlersByStimmeingabe", de.ivu.elect.business.stimmeingabe.entity.Stimmeingabefehler.class, de.ivu.elect.business.stimmeingabe.entity.QStimmeingabefehler.class, PathInits.DIRECT);

  /**
   * Beziehungen N:M bidirektional nicht selbstreferenzierend
   */

  public QStimmeingabe(Class<? extends Stimmeingabe> type, PathMetadata metadata, PathInits inits) {
    super(type, metadata, inits);
    this.ergebniseingang = inits.isInitialized("ergebniseingang") ? new de.ivu.elect.business.stimmeingabe.entity.QErgebniseingang(forProperty("ergebniseingang"), inits.get("ergebniseingang")) : null;// de.ivu.elect.business.stimmeingabe.entity.QErgebniseingang.ergebniseingang;
    this.gruppeImGebiet = inits.isInitialized("gruppeImGebiet") ? new de.ivu.elect.business.gruppeimgebiet.entity.QGruppeImGebiet(forProperty("gruppeImGebiet"), inits.get("gruppeImGebiet")) : null;// de.ivu.elect.business.gruppeimgebiet.entity.QGruppeImGebiet.gruppeImGebiet;
    this.listenkandidatur = inits.isInitialized("listenkandidatur") ? new de.ivu.elect.business.kandidatur.entity.QListenkandidatur(forProperty("listenkandidatur"), inits.get("listenkandidatur")) : null;// de.ivu.elect.business.kandidatur.entity.QListenkandidatur.listenkandidatur;
    this.referendumOption = inits.isInitialized("referendumOption") ? new de.ivu.elect.business.wahlvorschlag.entity.QReferendumOption(forProperty("referendumOption"), inits.get("referendumOption")) : null;// de.ivu.elect.business.wahlvorschlag.entity.QReferendumOption.referendumOption;
  }

  public QStimmeingabe(String variable) {
    this(Stimmeingabe.class, forVariable(variable), INITS);
  }

  public QStimmeingabe(Path<? extends Stimmeingabe> path) {
    this(path.getType(), path.getMetadata(), path.getMetadata().isRoot() ? INITS : PathInits.DEFAULT);
  }

  public QStimmeingabe(PathMetadata metadata) {
    this(metadata, metadata.isRoot() ? INITS : PathInits.DEFAULT);
  }

  public QStimmeingabe(PathMetadata metadata, PathInits inits) {
    this(Stimmeingabe.class, metadata, inits);
  }
}
