/*
 * Querydsl query type
 *
 *
 */
package de.ivu.elect.business.gruppe.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 QGruppenvereinigung extends EntityPathBase<Gruppenvereinigung> {

  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("*"
	// Gruppenvereinigung
, "gehoertZu.gehoertZu"
, "gehoertZu.customDataStorage"
, "gehoertZu.logo"
, "gehoertZu.wahl"
	// CustomDataStorage
	// Bild
	// 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 QGruppenvereinigung gruppenvereinigung = new QGruppenvereinigung("gruppenvereinigung");

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


  // inherited
  public final BooleanPath minderheit;

  // inherited
  public final StringPath discriminator;

  // inherited
  public final StringPath farbe;

  // inherited
  public final StringPath farbeExtern;

  // inherited
  public final EnumPath<de.ivu.elect.business.gruppe.entity.GruppeArt> gruppeArt;

  // inherited
  public final BooleanPath inPraesentation;

  // inherited
  public final StringPath kurzname;

  // inherited
  public final StringPath name;

  // inherited
  public final BooleanPath privilegiert;

  // inherited
  public final NumberPath<java.lang.Long> relativePosition;

  // inherited
  public final StringPath schluessel;

  // inherited
  public final NumberPath<java.lang.Long> vorgegebenePosition;

  // inherited
  public final StringPath zusatzbezeichnung;

  // Beziehungen N:1 unidirektional

  public final de.ivu.elect.business.gruppe.entity.QGruppenvereinigung gehoertZu;

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

  public final de.ivu.elect.business.image.entity.QBild logo;

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

  // Beziehungen N:1 bidirektional


  // Beziehungen 1:N bidirektional

  public final SetPath<de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet, de.ivu.elect.business.gruppeimgebiet.entity.QGruppeImGebiet> gruppeImGebietsByGruppe = this.<de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet, de.ivu.elect.business.gruppeimgebiet.entity.QGruppeImGebiet>createSet("gruppeImGebietsByGruppe", de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet.class, de.ivu.elect.business.gruppeimgebiet.entity.QGruppeImGebiet.class, PathInits.DIRECT);

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

  public final de.ivu.elect.business.gruppe.entity.QPolitischeGruppe _super;

  public QGruppenvereinigung(Class<? extends Gruppenvereinigung> type, PathMetadata metadata, PathInits inits) {
    super(type, metadata, inits);
    this._super = new de.ivu.elect.business.gruppe.entity.QPolitischeGruppe(type, metadata, inits);
    this.minderheit = this._super.minderheit;
    this.gehoertZu = this._super.gehoertZu;
    this.discriminator = this._super.discriminator;
    this.farbe = this._super.farbe;
    this.farbeExtern = this._super.farbeExtern;
    this.gruppeArt = this._super.gruppeArt;
    this.inPraesentation = this._super.inPraesentation;
    this.kurzname = this._super.kurzname;
    this.name = this._super.name;
    this.privilegiert = this._super.privilegiert;
    this.relativePosition = this._super.relativePosition;
    this.schluessel = this._super.schluessel;
    this.vorgegebenePosition = this._super.vorgegebenePosition;
    this.zusatzbezeichnung = this._super.zusatzbezeichnung;
    this.customDataStorage = this._super.customDataStorage;
    this.logo = this._super.logo;
    this.wahl = this._super.wahl;
  }

  public QGruppenvereinigung(String variable) {
    this(Gruppenvereinigung.class, forVariable(variable), INITS);
  }

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

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

  public QGruppenvereinigung(PathMetadata metadata, PathInits inits) {
    this(Gruppenvereinigung.class, metadata, inits);
  }
}
