package com.hwlcn.ldap.ldap.sdk;
import com.hwlcn.core.annotation.ThreadSafety;
import com.hwlcn.ldap.util.ThreadSafetyLevel;
import static com.hwlcn.ldap.util.StaticUtils.*;
@ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE)
public enum ChangeType
{
ADD("add"),
DELETE("delete"),
MODIFY("modify"),
MODIFY_DN("moddn");
private final String name;
private ChangeType(final String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public static ChangeType forName(final String name)
{
final String lowerName = toLowerCase(name);
if (lowerName.equals("add"))
{
return ADD;
}
else if (lowerName.equals("delete"))
{
return DELETE;
}
else if (lowerName.equals("modify"))
{
return MODIFY;
}
else if (lowerName.equals("moddn") || lowerName.equals("modrdn"))
{
return MODIFY_DN;
}
else
{
return null;
}
}
@Override()
public String toString()
{
return name;
}
}