InfoItem.java
/*
* #%L
* This file is part of jFold.
* %%
* Copyright (C) 2012 - 2019 Mike Thomas <mikepthomas@outlook.com>
* %%
* jFold is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* %
* jFold is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* %
* You should have received a copy of the GNU General Public License
* along with jFold. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
package info.mikethomas.jfold.info;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* <p>InfoItem class.</p>
*
* @author Michael Thomas (mikepthomas@outlook.com)
* @version 7.5.1
*/
@AllArgsConstructor
@Getter
public enum InfoItem {
// <editor-fold defaultstate="collapsed" desc="Client Info Items">
/** Item <code>Website</code> in <code>Folding@home Client</code>. */
CLIENT_WEBSITE(InfoCategory.CLIENT, "Website"),
/** Item <code>Copyright</code> in <code>Folding@home Client</code>. */
CLIENT_COPYRIGHT(InfoCategory.CLIENT, "Copyright"),
/** Item <code>Author</code> in <code>Folding@home Client</code>. */
CLIENT_AUTHOR(InfoCategory.CLIENT, "Author"),
/** Item <code>Args</code> in <code>Folding@home Client</code>. */
CLIENT_ARGS(InfoCategory.CLIENT, "Args"),
/** Item <code>Config</code> in <code>Folding@home Client</code>. */
CLIENT_CONFIG(InfoCategory.CLIENT, "Config"),
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Build Info Items">
/** Item <code>Build</code> in <code>Build</code>. */
BUILD_VERSION(InfoCategory.BUILD, "Build"),
/** Item <code>Date</code> in <code>Build</code>. */
BUILD_DATE(InfoCategory.BUILD, "Date"),
/** Item <code>Time</code> in <code>Build</code>. */
BUILD_TIME(InfoCategory.BUILD, "Time"),
/** Item <code>SVN Rev</code> in <code>Build</code>. */
BUILD_SVN_REV(InfoCategory.BUILD, "SVN Rev"),
/** Item <code>Branch</code> in <code>Build</code>. */
BUILD_BRANCH(InfoCategory.BUILD, "Branch"),
/** Item <code>Compiler</code> in <code>Build</code>. */
BUILD_COMPILER(InfoCategory.BUILD, "Compiler"),
/** Item <code>Options</code> in <code>Build</code>. */
BUILD_OPTIONS(InfoCategory.BUILD, "Options"),
/** Item <code>Platform</code> in <code>Build</code>. */
BUILD_PLATFORM(InfoCategory.BUILD, "Platform"),
/** Item <code>Bits</code> in <code>Build</code>. */
BUILD_BITS(InfoCategory.BUILD, "Bits"),
/** Item <code>Mode</code> in <code>Build</code>. */
BUILD_MODE(InfoCategory.BUILD, "Mode"),
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="System Info Items">
/** Item <code>CPU</code> in <code>System</code>. */
SYSTEM_CPU(InfoCategory.SYSTEM, "CPU"),
/** Item <code>CPU ID</code> in <code>System</code>. */
SYSTEM_CPU_ID(InfoCategory.SYSTEM, "CPU ID"),
/** Item <code>CPUs</code> in <code>System</code>. */
SYSTEM_CPUS(InfoCategory.SYSTEM, "CPUs"),
/** Item <code>Memory</code> in <code>System</code>. */
SYSTEM_MEMORY(InfoCategory.SYSTEM, "Memory"),
/** Item <code>Free Memory</code> in <code>System</code>. */
SYSTEM_FREE_MEMORY(InfoCategory.SYSTEM, "Free Memory"),
/** Item <code>Threads</code> in <code>System</code>. */
SYSTEM_THREADS(InfoCategory.SYSTEM, "Threads"),
/** Item <code>Has Battery</code> in <code>System</code>. */
SYSTEM_HAS_BATTERY(InfoCategory.SYSTEM, "Has Battery"),
/** Item <code>On Battery</code> in <code>System</code>. */
SYSTEM_ON_BATTERY(InfoCategory.SYSTEM, "On Battery"),
/** Item <code>UTC offset</code> in <code>System</code>. */
SYSTEM_UTC_OFFSET(InfoCategory.SYSTEM, "UTC offset"),
/** Item <code>PID</code> in <code>System</code>. */
SYSTEM_PID(InfoCategory.SYSTEM, "PID"),
/** Item <code>CWD</code> in <code>System</code>. */
SYSTEM_CWD(InfoCategory.SYSTEM, "CWD"),
/** Item <code>OS</code> in <code>System</code>. */
SYSTEM_OS(InfoCategory.SYSTEM, "OS"),
/** Item <code>OS Arch</code> in <code>System</code>. */
SYSTEM_OS_ARCH(InfoCategory.SYSTEM, "OS Arch"),
/** Item <code>GPUs</code> in <code>System</code>. */
SYSTEM_GPUS(InfoCategory.SYSTEM, "GPUs"),
/** Item <code>CUDA</code> in <code>System</code>. */
SYSTEM_CUDA(InfoCategory.SYSTEM, "CUDA");
// </editor-fold>
/**
* Category type of this item.
*
* @return InfoCategory category.
*/
private final InfoCategory category;
/**
* Key.
*
* @return String key.
*/
private final String key;
/** {@inheritDoc} */
@Override
public String toString() {
return key;
}
}