/** * Notify listeners and sub-classes about imminent removal of a function from a package. * * This method is called with the rulebase lock held. * @param pkg * @param functionName */ private void removeFunction( final Package pkg, final String functionName ) { this.eventSupport.fireBeforeFunctionRemoved( pkg, functionName ); removeFunction( functionName ); this.eventSupport.fireAfterFunctionRemoved( pkg, functionName ); }
public void removeFunction( final String packageName, final String functionName ) { lock(); try { final Package pkg = this.pkgs.get( packageName ); if (pkg == null) { throw new IllegalArgumentException( "Package name '" + packageName + "' does not exist for this Rule Base." ); } if (!pkg.getFunctions().containsKey( functionName )) { throw new IllegalArgumentException( "function name '" + packageName + "' does not exist in the Package '" + packageName + "'." ); } removeFunction( pkg, functionName ); pkg.removeFunction( functionName ); addReloadDialectDatas( pkg ); } finally { unlock(); } }