/*
 * Querydsl query type
 *
 *
 */
package de.ivu.elect.business.wahl.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 QWahl extends EntityPathBase<Wahl> {

  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("*"
	// Wahl
, "berichtetAn.berichtetAn"
, "berichtetAn.customDataStorage"
, "berichtetAn.einsehenRolle"
, "berichtetAn.wahlart"
, "berichtetAn.wahltermin"
	// CustomDataStorage
	// Rolle
, "einsehenRolle.mandant"
	// Wahlart
, "wahlart.mandant"
	// Wahltermin
, "wahltermin.customDataStorage"
, "wahltermin.einsehenRolle"
, "wahltermin.mandant"
, "wahltermin.stichwahlWahlterminUrspruenglich"
);

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

  public static final QWahl wahl = new QWahl("wahl");

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

  public final NumberPath<java.lang.Long> anzahlStimmzettel = createNumber("anzahlStimmzettel", java.lang.Long.class);

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

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

  public final BooleanPath gesperrt = createBoolean("gesperrt");

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

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

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

  public final NumberPath<java.lang.Long> position = createNumber("position", java.lang.Long.class);

  public final NumberPath<java.math.BigDecimal> quorumProzenthuerde = createNumber("quorumProzenthuerde", java.math.BigDecimal.class);

  public final EnumPath<de.ivu.elect.business.wahl.entity.WahlStatus> status = createEnum("status", de.ivu.elect.business.wahl.entity.WahlStatus.class);

  public final NumberPath<java.lang.Long> anzahlUnterstuetzerPerEintragungsliste = createNumber("anzahlUnterstuetzerPerEintragungsliste", java.lang.Long.class);

  public final BooleanPath unterstuetzerErfassbar = createBoolean("unterstuetzerErfassbar");

  public final EnumPath<de.ivu.elect.business.wahl.entity.Wahlgang> wahlgang = createEnum("wahlgang", de.ivu.elect.business.wahl.entity.Wahlgang.class);


  // Beziehungen N:1 unidirektional

  public final de.ivu.elect.business.wahl.entity.QWahl berichtetAn;

  public final de.ivu.elect.business.customdata.entity.QCustomDataStorage customDataStorage;

  public final de.ivu.elect.business.benutzerverwaltung.entity.QRolle einsehenRolle;

  public final de.ivu.elect.business.wahl.entity.QWahlart wahlart;

  // Beziehungen N:1 bidirektional

  public final de.ivu.elect.business.wahl.entity.QWahltermin wahltermin;


  // Beziehungen 1:N bidirektional

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

  public QWahl(Class<? extends Wahl> type, PathMetadata metadata, PathInits inits) {
    super(type, metadata, inits);
    this.berichtetAn = inits.isInitialized("berichtetAn") ? new de.ivu.elect.business.wahl.entity.QWahl(forProperty("berichtetAn"), inits.get("berichtetAn")) : null;// de.ivu.elect.business.wahl.entity.QWahl.wahl;
    this.customDataStorage = inits.isInitialized("customDataStorage") ? new de.ivu.elect.business.customdata.entity.QCustomDataStorage(forProperty("customDataStorage"), inits.get("customDataStorage")) : null;// de.ivu.elect.business.customdata.entity.QCustomDataStorage.customDataStorage;
    this.einsehenRolle = inits.isInitialized("einsehenRolle") ? new de.ivu.elect.business.benutzerverwaltung.entity.QRolle(forProperty("einsehenRolle"), inits.get("einsehenRolle")) : null;// de.ivu.elect.business.benutzerverwaltung.entity.QRolle.rolle;
    this.wahlart = inits.isInitialized("wahlart") ? new de.ivu.elect.business.wahl.entity.QWahlart(forProperty("wahlart"), inits.get("wahlart")) : null;// de.ivu.elect.business.wahl.entity.QWahlart.wahlart;
    this.wahltermin = inits.isInitialized("wahltermin") ? new de.ivu.elect.business.wahl.entity.QWahltermin(forProperty("wahltermin"), inits.get("wahltermin")) : null;// de.ivu.elect.business.wahl.entity.QWahltermin.wahltermin;
  }

  public QWahl(String variable) {
    this(Wahl.class, forVariable(variable), INITS);
  }

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

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

  public QWahl(PathMetadata metadata, PathInits inits) {
    this(Wahl.class, metadata, inits);
  }
}
