public synchronized void neverGeneratePID ( String pid ) throws IOException { logger . debug ( "Never generating PID: {}" , pid ) ; try { PID p = new PID ( pid ) ; String ns = p . getNamespaceId ( ) ; int id = Integer . parseInt ( p . getObjectId ( ) ) ; if ( id > getHighestID ( ns ) ) { setHighestID ( ns , id ) ; } } catch ( MalformedPIDException mpe ) { throw new IOException ( mpe . getMessage ( ) ) ; } catch ( NumberFormatException nfe ) { // if the id part is not numeric, we already know we'll // never generate that id because all generated ids are numeric. } }
Cause the given PID to never be generated by the PID generator .