package de.ivu.elect.business.system.boundary;

import org.apache.deltaspike.core.api.scope.ConversationGroup;
import org.apache.deltaspike.core.api.scope.GroupedConversationScoped;

import de.ivu.elect.business.search.control.AbstractElectSearchParameters;
import de.ivu.elect.business.system.entity.PerformanceStatistikSessionType;
import de.ivu.elect.business.system.entity.PerformanceStatistikViewAccessType;
import de.ivu.elect.business.system.entity.PerformanceStatistikViewType;
import de.ivu.elect.business.system.entity.PerformanceStatistikViewZeitraum;
import de.ivu.elect.business.system.entity.PerformanceStatistikZeitDarstellung;

@GroupedConversationScoped
@ConversationGroup(PerformanceStatistikSearchParameters.class)
public class PerformanceStatistikSearchParameters extends AbstractElectSearchParameters {

  private PerformanceStatistikViewType statistikViewType = PerformanceStatistikViewType.VIEW;

  private PerformanceStatistikViewAccessType statistikViewAccessType = PerformanceStatistikViewAccessType.GRUPPIERT;

  private PerformanceStatistikZeitDarstellung zeitDarstellung = PerformanceStatistikZeitDarstellung.DURCHSCHNITTLICH;

  private PerformanceStatistikViewZeitraum statistikViewZeitraum = PerformanceStatistikViewZeitraum.SYSTEM_START;

  private PerformanceStatistikSessionType statistikSessionType = PerformanceStatistikSessionType.ALLE;

  private String nutzer;

  public PerformanceStatistikViewAccessType getStatistikViewAccessType() {
    return statistikViewAccessType;
  }

  public void setStatistikViewAccessType(PerformanceStatistikViewAccessType statistikViewAccessType) {
    this.statistikViewAccessType = statistikViewAccessType;
  }

  public PerformanceStatistikZeitDarstellung getZeitDarstellung() {
    return zeitDarstellung;
  }

  public void setZeitDarstellung(PerformanceStatistikZeitDarstellung zeitDarstellung) {
    this.zeitDarstellung = zeitDarstellung;
  }

  public PerformanceStatistikViewZeitraum getStatistikViewZeitraum() {
    return statistikViewZeitraum;
  }

  public void setStatistikViewZeitraum(PerformanceStatistikViewZeitraum statistikViewZeitraum) {
    this.statistikViewZeitraum = statistikViewZeitraum;
  }

  public PerformanceStatistikViewType getStatistikViewType() {
    return statistikViewType;
  }

  public void setStatistikViewType(PerformanceStatistikViewType statistikViewType) {
    this.statistikViewType = statistikViewType;
  }


  public PerformanceStatistikSessionType getStatistikSessionType() {
    return statistikSessionType;
  }

  public void setStatistikSessionType(PerformanceStatistikSessionType statistikSessionType) {
    this.statistikSessionType = statistikSessionType;
  }

  public String getNutzer() {
    return nutzer;
  }

  public void setNutzer(String nutzer) {
    this.nutzer = nutzer;
  }

  @Override
  public void reset() {
    super.reset();
    statistikViewType = PerformanceStatistikViewType.VIEW;
    statistikViewAccessType = PerformanceStatistikViewAccessType.GRUPPIERT;
    zeitDarstellung = PerformanceStatistikZeitDarstellung.DURCHSCHNITTLICH;
    statistikViewZeitraum = PerformanceStatistikViewZeitraum.SYSTEM_START;
    statistikSessionType = PerformanceStatistikSessionType.ALLE;
    nutzer = null;
  }
}
