private void addUserIdentifiers ( JobConf job ) throws IOException { Pattern x = Pattern . compile ( "^mapred\\.join\\.define\\.(\\w+)$" ) ; for ( Map . Entry < String , String > kv : job ) { Matcher m = x . matcher ( kv . getKey ( ) ) ; if ( m . matches ( ) ) { try { Parser . CNode . addIdentifier ( m . group ( 1 ) , job . getClass ( m . group ( 0 ) , null , ComposableRecordReader . class ) ) ; } catch ( NoSuchMethodException e ) { throw ( IOException ) new IOException ( "Invalid define for " + m . group ( 1 ) ) . initCause ( e ) ; } } } }
Inform the parser of user - defined types .