/*
 * Querydsl query type
 *
 *
 */
package de.ivu.elect.business.email.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 QEmailVorgang extends EntityPathBase<EmailVorgang> {

  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("*"
	// EmailLayout
	// EmailVorlage
, "emailVorlage.emailLayout"
, "emailVorlage.wahltermin"
, "emailVorlage.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 QEmailVorgang emailVorgang = new QEmailVorgang("emailVorgang");

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

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

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

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

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

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

  public final EnumPath<de.ivu.elect.business.email.entity.EmailVorgangType> typ = createEnum("typ", de.ivu.elect.business.email.entity.EmailVorgangType.class);


  // Beziehungen N:1 unidirektional

  public final de.ivu.elect.business.email.entity.QEmailLayout emailLayout;

  public final de.ivu.elect.business.email.entity.QEmailVorlage emailVorlage;

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

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

  // Beziehungen N:1 bidirektional


  // Beziehungen 1:N bidirektional

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

  public QEmailVorgang(Class<? extends EmailVorgang> type, PathMetadata metadata, PathInits inits) {
    super(type, metadata, inits);
    this.emailLayout = inits.isInitialized("emailLayout") ? new de.ivu.elect.business.email.entity.QEmailLayout(forProperty("emailLayout"), inits.get("emailLayout")) : null;// de.ivu.elect.business.email.entity.QEmailLayout.emailLayout;
    this.emailVorlage = inits.isInitialized("emailVorlage") ? new de.ivu.elect.business.email.entity.QEmailVorlage(forProperty("emailVorlage"), inits.get("emailVorlage")) : null;// de.ivu.elect.business.email.entity.QEmailVorlage.emailVorlage;
    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 QEmailVorgang(String variable) {
    this(EmailVorgang.class, forVariable(variable), INITS);
  }

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

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

  public QEmailVorgang(PathMetadata metadata, PathInits inits) {
    this(EmailVorgang.class, metadata, inits);
  }
}
