@ Override protected Construct getConstructor ( Node node ) { Construct construct = super . getConstructor ( node ) ; logger . trace ( "getting constructor for node {} Tag {} = {}" , new Object [ ] { node , node . getTag ( ) , construct } ) ; if ( construct instanceof ConstructYamlObject && ! tagsDefined . contains ( node . getTag ( ) ) ) { try { node . getTag ( ) . getClassName ( ) ; } catch ( YAMLException e ) { node . setUseClassConstructor ( true ) ; String value = null ; if ( node . getNodeId ( ) == NodeId . scalar ) { value = ( ( ScalarNode ) node ) . getValue ( ) ; } node . setTag ( resolver . resolve ( node . getNodeId ( ) , value , true ) ) ; construct = super . getConstructor ( node ) ; try { resolveType ( node ) ; } catch ( ClassNotFoundException e1 ) { logger . debug ( "Could not find class." , e1 ) ; } } } logger . trace ( "returning constructor for node {} type {} Tag {} = {}" , new Object [ ] { node , node . getType ( ) , node . getTag ( ) , construct } ) ; return construct ; }
Overridden to fetch constructor even if tag is not mapped .