/*
 * Querydsl query type
 *
 *
 */
package de.ivu.elect.business.benutzerverwaltung.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 QBenutzer extends EntityPathBase<Benutzer> {

  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("*"
	// CustomDataStorage
	// Mandant
);

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

  public static final QBenutzer benutzer = new QBenutzer("benutzer");

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

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

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

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

  public final EnumPath<de.ivu.elect.business.person.entity.Geschlecht> geschlecht = createEnum("geschlecht", de.ivu.elect.business.person.entity.Geschlecht.class);

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

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

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

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

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

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

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

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

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

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

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


  // Beziehungen N:1 unidirektional

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

  public final de.ivu.elect.business.mandant.entity.QMandant mandant;

  // Beziehungen N:1 bidirektional


  // Beziehungen 1:N bidirektional

  public final SetPath<de.ivu.elect.business.benutzerverwaltung.entity.BenutzerParameter, de.ivu.elect.business.benutzerverwaltung.entity.QBenutzerParameter> benutzerParametersByBenutzer = this.<de.ivu.elect.business.benutzerverwaltung.entity.BenutzerParameter, de.ivu.elect.business.benutzerverwaltung.entity.QBenutzerParameter>createSet("benutzerParametersByBenutzer", de.ivu.elect.business.benutzerverwaltung.entity.BenutzerParameter.class, de.ivu.elect.business.benutzerverwaltung.entity.QBenutzerParameter.class, PathInits.DIRECT);

  /**
   * Beziehungen N:M bidirektional nicht selbstreferenzierend
   */
			  /**
   * Beziehung N:M (bidirektional, fuehrend) zu Rolles
   */
  public final SetPath<de.ivu.elect.business.benutzerverwaltung.entity.Rolle, de.ivu.elect.business.benutzerverwaltung.entity.QRolle> rolles = this.<de.ivu.elect.business.benutzerverwaltung.entity.Rolle, de.ivu.elect.business.benutzerverwaltung.entity.QRolle>createSet("rolles", de.ivu.elect.business.benutzerverwaltung.entity.Rolle.class, de.ivu.elect.business.benutzerverwaltung.entity.QRolle.class, PathInits.DIRECT);
			  /**
   * Beziehung N:M (bidirektional, fuehrend) zu Gebiets
   */
  public final SetPath<de.ivu.elect.business.gebietsbaum.entity.Gebiet, de.ivu.elect.business.gebietsbaum.entity.QGebiet> gebiets = this.<de.ivu.elect.business.gebietsbaum.entity.Gebiet, de.ivu.elect.business.gebietsbaum.entity.QGebiet>createSet("gebiets", de.ivu.elect.business.gebietsbaum.entity.Gebiet.class, de.ivu.elect.business.gebietsbaum.entity.QGebiet.class, PathInits.DIRECT);

  public QBenutzer(Class<? extends Benutzer> type, PathMetadata metadata, PathInits inits) {
    super(type, metadata, inits);
    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.mandant = inits.isInitialized("mandant") ? new de.ivu.elect.business.mandant.entity.QMandant(forProperty("mandant"), inits.get("mandant")) : null;// de.ivu.elect.business.mandant.entity.QMandant.mandant;
  }

  public QBenutzer(String variable) {
    this(Benutzer.class, forVariable(variable), INITS);
  }

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

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

  public QBenutzer(PathMetadata metadata, PathInits inits) {
    this(Benutzer.class, metadata, inits);
  }
}
