/*
 * Querydsl query type
 *
 *
 */
package de.ivu.elect.business.veranstaltung.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 QVeranstaltung extends EntityPathBase<Veranstaltung> {

  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("*"
	// Anschrift
, "anschrift.customDataStorage"
	// Personendaten
, "ansprechpartner.anschrift"
, "ansprechpartner.customDataStorage"
, "ansprechpartner.erreichbarkeitsanschrift"
, "ansprechpartner.foto"
, "ansprechpartner.kontoverbindung"
, "ansprechpartner.wahltermin"
, "ansprechpartner.wahl"
	// CustomDataStorage
	// Gebiet
, "gebiet.anschrift"
, "gebiet.ansprechpartner"
, "gebiet.bearbeitenRolle"
, "gebiet.customDataStorage"
, "gebiet.einsehenRolle"
, "gebiet.gebietsart"
, "gebiet.uebergeordnetesGebiet"
, "gebiet.verantwortlicherMandant"
, "gebiet.wahltermin"
, "gebiet.wahl"
	// Veranstaltung
, "verknuepfteVeranstaltung.anschrift"
, "verknuepfteVeranstaltung.ansprechpartner"
, "verknuepfteVeranstaltung.customDataStorage"
, "verknuepfteVeranstaltung.gebiet"
, "verknuepfteVeranstaltung.verknuepfteVeranstaltung"
, "verknuepfteVeranstaltung.wahltermin"
, "verknuepfteVeranstaltung.wahl"
	// Wahltermin
, "wahltermin.customDataStorage"
, "wahltermin.einsehenRolle"
, "wahltermin.mandant"
, "wahltermin.stichwahlWahlterminUrspruenglich"
	// Wahl
, "wahl.berichtetAn"
, "wahl.customDataStorage"
, "wahl.einsehenRolle"
, "wahl.wahlart"
, "wahl.wahltermin"
);

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

  public static final QVeranstaltung veranstaltung = new QVeranstaltung("veranstaltung");

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

  public final DateTimePath beginn = createDateTime("beginn", java.sql.Timestamp.class);

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

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

  public final DateTimePath ende = createDateTime("ende", java.sql.Timestamp.class);

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

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

  public final EnumPath<de.ivu.elect.business.veranstaltung.entity.SchulungArt> schulungArt = createEnum("schulungArt", de.ivu.elect.business.veranstaltung.entity.SchulungArt.class);

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

  public final EnumPath<de.ivu.elect.business.veranstaltung.entity.VeranstaltungArt> veranstaltungArt = createEnum("veranstaltungArt", de.ivu.elect.business.veranstaltung.entity.VeranstaltungArt.class);

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

  public final EnumPath<de.ivu.elect.business.veranstaltung.entity.VeranstaltungStatus> veranstaltungStatus = createEnum("veranstaltungStatus", de.ivu.elect.business.veranstaltung.entity.VeranstaltungStatus.class);


  // Beziehungen N:1 unidirektional

  public final de.ivu.elect.business.anschrift.entity.QAnschrift anschrift;

  public final de.ivu.elect.business.person.entity.QPersonendaten ansprechpartner;

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

  public final de.ivu.elect.business.gebietsbaum.entity.QGebiet gebiet;

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

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

  // Beziehungen N:1 bidirektional

  public final de.ivu.elect.business.veranstaltung.entity.QVeranstaltung verknuepfteVeranstaltung;


  // Beziehungen 1:N bidirektional

  public final SetPath<de.ivu.elect.business.veranstaltung.entity.Teilnahme, de.ivu.elect.business.veranstaltung.entity.QTeilnahme> teilnahmesByVeranstaltung = this.<de.ivu.elect.business.veranstaltung.entity.Teilnahme, de.ivu.elect.business.veranstaltung.entity.QTeilnahme>createSet("teilnahmesByVeranstaltung", de.ivu.elect.business.veranstaltung.entity.Teilnahme.class, de.ivu.elect.business.veranstaltung.entity.QTeilnahme.class, PathInits.DIRECT);

  public final SetPath<de.ivu.elect.business.veranstaltung.entity.Veranstaltung, de.ivu.elect.business.veranstaltung.entity.QVeranstaltung> veranstaltungsByVerknuepfteVeranstaltung = this.<de.ivu.elect.business.veranstaltung.entity.Veranstaltung, de.ivu.elect.business.veranstaltung.entity.QVeranstaltung>createSet("veranstaltungsByVerknuepfteVeranstaltung", de.ivu.elect.business.veranstaltung.entity.Veranstaltung.class, de.ivu.elect.business.veranstaltung.entity.QVeranstaltung.class, PathInits.DIRECT);

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

  public QVeranstaltung(Class<? extends Veranstaltung> type, PathMetadata metadata, PathInits inits) {
    super(type, metadata, inits);
    this.anschrift = inits.isInitialized("anschrift") ? new de.ivu.elect.business.anschrift.entity.QAnschrift(forProperty("anschrift"), inits.get("anschrift")) : null;// de.ivu.elect.business.anschrift.entity.QAnschrift.anschrift;
    this.ansprechpartner = inits.isInitialized("ansprechpartner") ? new de.ivu.elect.business.person.entity.QPersonendaten(forProperty("ansprechpartner"), inits.get("ansprechpartner")) : null;// de.ivu.elect.business.person.entity.QPersonendaten.personendaten;
    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.gebiet = inits.isInitialized("gebiet") ? new de.ivu.elect.business.gebietsbaum.entity.QGebiet(forProperty("gebiet"), inits.get("gebiet")) : null;// de.ivu.elect.business.gebietsbaum.entity.QGebiet.gebiet;
    this.verknuepfteVeranstaltung = inits.isInitialized("verknuepfteVeranstaltung") ? new de.ivu.elect.business.veranstaltung.entity.QVeranstaltung(forProperty("verknuepfteVeranstaltung"), inits.get("verknuepfteVeranstaltung")) : null;// de.ivu.elect.business.veranstaltung.entity.QVeranstaltung.veranstaltung;
    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;
    this.wahl = inits.isInitialized("wahl") ? new de.ivu.elect.business.wahl.entity.QWahl(forProperty("wahl"), inits.get("wahl")) : null;// de.ivu.elect.business.wahl.entity.QWahl.wahl;
  }

  public QVeranstaltung(String variable) {
    this(Veranstaltung.class, forVariable(variable), INITS);
  }

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

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

  public QVeranstaltung(PathMetadata metadata, PathInits inits) {
    this(Veranstaltung.class, metadata, inits);
  }
}
