/*
* Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com
* The software in this package is published under the terms of the CPAL v1.0
* license, a copy of which has been included with this distribution in the
* LICENSE.txt file.
*/
package org.mule.runtime.config.spring.parsers.assembly.configuration;
/**
* Overloads the Spring {@link org.springframework.core.Conventions} class, specifically the
* {@link #attributeNameToPropertyName(String)} Method to evaluate the first character of the attribute name and ignore if it is
* upper case since this is not valid Bean notation and Mule uses upper case to signify a non-bean attribute name.
*/
public final class Conventions {
private Conventions() {
// do not instantiate
}
/**
* Overloads the Spring version of this method to tak into account the first character in the attribute name An upper case char
* as the first letter of a bean name is not allowed. In Mule this also signifies a non bean property
*
* @param attributeName the attribute name to parse
* @return the correctly formatted bean name
*/
public static String attributeNameToPropertyName(String attributeName) {
char[] chars = attributeName.toCharArray();
if (Character.isUpperCase(chars[0])) {
return attributeName;
} else {
return org.springframework.core.Conventions.attributeNameToPropertyName(attributeName);
}
}
}