@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;
}