private String resolveStringValue ( Object rawValue , ExtendedAttributeDefinition attrDef , EvaluationContext context , boolean ignoreWarnings ) throws ConfigEvaluatorException { if ( rawValue instanceof String ) { return processString ( ( String ) rawValue , attrDef , context , ignoreWarnings ) ; } else if ( rawValue instanceof ConfigElement ) { // Like convertConfigElementToSingleValue, handle elements with // attributes: <top><bool attr="ignored">true></bool></top> return processString ( ( ( ConfigElement ) rawValue ) . getElementValue ( ) , attrDef , context , ignoreWarnings ) ; } else { throw new IllegalStateException ( "Attribute type mismatch. Expected String type, got " + rawValue ) ; } }
Resolve a raw value to a String and process it so that it can be evaluated .