Example usage for org.apache.commons.bcel6.classfile Utility signatureToString

List of usage examples for org.apache.commons.bcel6.classfile Utility signatureToString

Introduction

In this page you can find the example usage for org.apache.commons.bcel6.classfile Utility signatureToString.

Prototype

public static String signatureToString(String signature) 

Source Link

Document

Converts signature to string with all class names compacted.

Usage

From source file:ru.objective.jni.tasks.builders.AbstractBuilder.java

protected String getHeaderDeclarationField(String name, Field field, boolean setter) {
    StringBuilder builder = new StringBuilder();

    String returnType = Utility.signatureToString(field.getSignature());

    returnType = Utils.getBasicType(returnType);

    if (!Utils.isPrimitive(field.getType())) {
        JavaClass typeJavaClass = OJNIClassLoader.getInstance().loadClass(field.getType().toString());

        if (typeJavaClass != null && typeJavaClass.isInterface())
            returnType = "id <" + getPrefix() + Utils.getShortClassName(returnType) + ">";
        else/* w ww .  jav  a 2  s . c  o m*/
            returnType = getPrefix() + Utils.getShortClassName(returnType) + " *";
    }

    if (Utils.isArrayType(field.getType()))
        returnType = getStringArrayType(returnType, (ArrayType) field.getType());
    else
        returnType = PrimitiveTypeConverter.convertToOBJCType(returnType);

    String declSign = (field.isStatic() ? "+" : "-") + " ";

    String resultType = PrimitiveTypeConverter.convertToOBJCType(returnType);

    if (setter) {
        if (!field.isFinal()) {
            //generate set
            builder.append(declSign).append("(void)setProperty_").append(field.getName()).append(":(")
                    .append(resultType).append(")property_").append(field.getName()).append(";");
        }
    } else {
        //generate get
        builder.append(declSign);
        builder.append("(").append(resultType).append(")property_").append(field.getName()).append(";");
    }

    return builder.toString();
}