package com.hwlcn.ldap.util;
import com.hwlcn.core.annotation.ThreadSafety;
import static com.hwlcn.ldap.util.StaticUtils.*;
@ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE)
public enum DebugType
{
ASN1("asn1"),
CONNECT("connect"),
EXCEPTION("exception"),
LDAP("ldap"),
LDIF("ldif"),
MONITOR("monitor"),
CODING_ERROR("coding-error"),
OTHER("other");
private final String name;
private DebugType(final String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public static DebugType forName(final String name)
{
final String lowerName = toLowerCase(name);
if (lowerName.equals("asn1"))
{
return ASN1;
}
else if (lowerName.equals("connect"))
{
return CONNECT;
}
else if (lowerName.equals("exception"))
{
return EXCEPTION;
}
else if (lowerName.equals("ldap"))
{
return LDAP;
}
else if (lowerName.equals("ldif"))
{
return LDIF;
}
else if (lowerName.equals("monitor"))
{
return MONITOR;
}
else if (lowerName.equals("coding-error"))
{
return CODING_ERROR;
}
else if (lowerName.equals("other"))
{
return OTHER;
}
return null;
}
public static String getTypeNameList()
{
final StringBuilder buffer = new StringBuilder();
final DebugType[] types = DebugType.values();
for (int i=0; i < types.length; i++)
{
if (i > 0)
{
buffer.append(", ");
}
buffer.append(types[i].getName());
}
return buffer.toString();
}
@Override()
public String toString()
{
return name;
}
}