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

import de.ivu.elect.business.system.entity.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.inject.Inject;
import java.io.Serializable;
import java.util.Collections;
import java.util.List;

// kein @Stateless, da keine Datenbank-Zugriffe
public class HibernateStatistik implements Serializable {

  private static final Logger LOG = LoggerFactory.getLogger(HibernateStatistik.class);

  private static final long serialVersionUID = 1L;

  @Inject
  private transient CacheResetExtended cacheResetExtended;


  public boolean isStatistikVerfuegbar() {
    return false;
  }

  public boolean isStatistikAktiviert() {
    return false;
  }

  public void aktiviereStatistik() {
    throw new IllegalStateException("Hibernate-Statistiken nicht verfügbar!");
  }

  public void deaktiviereStatistik() {
    // noop
  }

  public void resetStatistik() {
    // noop
  }

  public List<HibernateEntityStatistik> getEntityStatistiken() {
    return Collections.emptyList();
  }

  public List<HibernateQueryStatistik> getQueryStatistiken() {
    return Collections.emptyList();
  }

  public List<HibernateSecondLevelCacheStatistik> getSecondLevelCacheStatistiken() {
    return Collections.emptyList();
  }

  public List<HibernateCollectionStatistik> getCollectionStatistiken() {
    return Collections.emptyList();
  }


  public void resetCache() {
    cacheResetExtended.resetCache();
  }

  public String logStatistics(boolean vollstaendig, String lineSeparator) {
    return "";
  }

  public List<HibernateStatistikEntry> getStatistikEntries() {
    return Collections.emptyList();
  }
}
