001// Copyright (c) FIRST and other WPILib contributors.
002// Open Source Software; you can modify and/or share it under the terms of
003// the WPILib BSD license file in the root directory of this project.
004
005package edu.wpi.first.epilogue.logging;
006
007import edu.wpi.first.util.protobuf.Protobuf;
008import edu.wpi.first.util.struct.Struct;
009import us.hebi.quickbuf.ProtoMessage;
010
011/** Null backend implementation that logs nothing. */
012public class NullBackend implements EpilogueBackend {
013  /** Default constructor. */
014  public NullBackend() {}
015
016  @Override
017  public EpilogueBackend getNested(String path) {
018    // Since a nested backend would still log nothing and has no state, we can just return the same
019    // null-logging implementation
020    return this;
021  }
022
023  @Override
024  public void log(String identifier, int value) {}
025
026  @Override
027  public void log(String identifier, long value) {}
028
029  @Override
030  public void log(String identifier, float value) {}
031
032  @Override
033  public void log(String identifier, double value) {}
034
035  @Override
036  public void log(String identifier, boolean value) {}
037
038  @Override
039  public void log(String identifier, byte[] value) {}
040
041  @Override
042  public void log(String identifier, int[] value) {}
043
044  @Override
045  public void log(String identifier, long[] value) {}
046
047  @Override
048  public void log(String identifier, float[] value) {}
049
050  @Override
051  public void log(String identifier, double[] value) {}
052
053  @Override
054  public void log(String identifier, boolean[] value) {}
055
056  @Override
057  public void log(String identifier, String value) {}
058
059  @Override
060  public void log(String identifier, String[] value) {}
061
062  @Override
063  public <S> void log(String identifier, S value, Struct<S> struct) {}
064
065  @Override
066  public <S> void log(String identifier, S[] value, Struct<S> struct) {}
067
068  @Override
069  public <P, M extends ProtoMessage<M>> void log(
070      String identifier, P value, Protobuf<P, M> proto) {}
071}