blob: be8b6d8bc33b101edc0258fc6be148aec84654cc [file] [log] [blame]
/**********************************************************************
* Copyright (c) 2012, 2014 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Bernd Hufmann - Initial API and implementation
* Jonathan Rajotte - Utility function
*********************************************************************/
package org.eclipse.tracecompass.internal.lttng2.control.core.model;
/**
* Log Level enumeration.
*
* @author Bernd Hufmann
*/
@SuppressWarnings("nls")
public enum TraceLogLevel implements ITraceLogLevel {
// ------------------------------------------------------------------------
// Enum definition
// ------------------------------------------------------------------------
/** Log level 0 */
TRACE_EMERG("TRACE_EMERG"),
/** Log level 1 */
TRACE_ALERT("TRACE_ALERT"),
/** Log level 2 */
TRACE_CRIT("TRACE_CRIT"),
/** Log level 3 */
TRACE_ERR("TRACE_ERR"),
/** Log level 4 */
TRACE_WARNING("TRACE_WARNING"),
/** Log level 5 */
TRACE_NOTICE("TRACE_NOTICE"),
/** Log level 6 */
TRACE_INFO("TRACE_INFO"),
/** Log level 7 */
TRACE_DEBUG_SYSTEM("TRACE_DEBUG_SYSTEM"),
/** Log level 8 */
TRACE_DEBUG_PROGRAM("TRACE_DEBUG_PROGRAM"),
/** Log level 9 */
TRACE_DEBUG_PROCESS("TRACE_DEBUG_PROCESS"),
/** Log level 10 */
TRACE_DEBUG_MODULE("TRACE_DEBUG_MODULE"),
/** Log level 11 */
TRACE_DEBUG_UNIT("TRACE_DEBUG_UNIT"),
/** Log level 12 */
TRACE_DEBUG_FUNCTION("TRACE_DEBUG_FUNCTION"),
/** Log level 13 */
TRACE_DEBUG_LINE("TRACE_DEBUG_LINE"),
/** Log level 14 */
TRACE_DEBUG("TRACE_DEBUG"),
/** Log level 15 */
LEVEL_UNKNOWN("LEVEL_UNKNOWN");
// ------------------------------------------------------------------------
// Attributes
// ------------------------------------------------------------------------
/**
* Name of enum.
*/
private final String fInName;
// ------------------------------------------------------------------------
// Constuctors
// ------------------------------------------------------------------------
/**
* Private constructor
*
* @param name
* the name of state
*/
private TraceLogLevel(String name) {
fInName = name;
}
// ------------------------------------------------------------------------
// Accessors
// ------------------------------------------------------------------------
@Override
public String getInName() {
return fInName;
}
// ------------------------------------------------------------------------
// Utility
// ------------------------------------------------------------------------
/**
* Return the corresponding {@link TraceLogLevel} to String "name"
*
* @param name
* String to compare to retrieve the good {@link TraceLogLevel}
* @return the corresponding {@link TraceLogLevel}
*/
public static TraceLogLevel valueOfString(String name) {
if (name == null) {
throw new IllegalArgumentException();
}
for (TraceLogLevel tllevel : TraceLogLevel.values()) {
if (tllevel.getInName().equalsIgnoreCase(name)) {
return tllevel;
}
}
// No match
return LEVEL_UNKNOWN;
}
}