drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/editors/completion/CompletionUtil.java
public static String getWritablePropertyName(String methodName,
                                                 int parameterCount,
                                                 String returnType) {
        if ( methodName == null ) {
            return null;
        }
        String simpleName = methodName.replaceAll( "\\(\\)",
                                                   "" );
        if ( !isSetter( simpleName,
                        parameterCount,
                        returnType ) ) {
            return methodName;
        }

        int prefixLength = 3;

        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
        return propertyName;
    }
public static String getWritablePropertyName(String methodName,
                                                 int parameterCount,
                                                 String returnType) {
        if ( methodName == null ) {
            return null;
        }
        String simpleName = methodName.replaceAll( "\\(\\)",
                                                   "" );
        if ( !isSetter( simpleName,
                        parameterCount,
                        returnType ) ) {
            return methodName;
        }

        int prefixLength = 3;

        char firstChar = Character.toLowerCase( simpleName.charAt( prefixLength ) );
        String propertyName = firstChar + simpleName.substring( prefixLength + 1 );
        return propertyName;
    }
public static String getWritablePropertyName ( String methodName , int parameterCount , String returnType ) { if ( methodName == null ) { return null ; } String simpleName = methodName . replaceAll ( "\\(\\)" , "" ) ; if ( ! isSetter ( simpleName , parameterCount , returnType ) ) { return methodName ; } int prefixLength = 3 ; char firstChar = Character . toLowerCase ( simpleName . charAt ( prefixLength ) ) ; String propertyName = firstChar + simpleName . substring ( prefixLength + 1 ) ; return propertyName ; }
Given a data depicting a method (name, # or params/args, returned type key), tries to return a  writable bean property name derived from that method.
If a writable (ie setter) bean property name is not found, the initial method name is returned
@param methodName
@param parameterCount
@param returnType
@return a bean property name
Given a data depicting a method ( name # or params / args returned type key ) tries to return a writable bean property name derived from that method . If a writable ( ie setter ) bean property name is not found the initial method name is returned