public void modify( Name name, int modOp, Attributes mods, Collection bypass ) throws NamingException
{
ensureStarted();
InvocationStack stack = InvocationStack.getInstance();
Integer modOpObj;
switch( modOp )
{
case( DirContext.ADD_ATTRIBUTE ):
modOpObj = ADD_MODOP;
break;
case( DirContext.REMOVE_ATTRIBUTE ):
modOpObj = REMOVE_MODOP;
break;
case( DirContext.REPLACE_ATTRIBUTE ):
modOpObj = REPLACE_MODOP;
break;
default:
throw new IllegalArgumentException( "bad modification operation value: " + modOp );
}
stack.push( new Invocation( this, caller, "modify", new Object[] { name, modOpObj, mods }, bypass ) );
try
{
this.configuration.getInterceptorChain().modify( name, modOp, mods );
}
finally
{
stack.pop();
}
}