Example usage for org.eclipse.jdt.core.util IConstantValueAttribute getConstantValue

List of usage examples for org.eclipse.jdt.core.util IConstantValueAttribute getConstantValue

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.util IConstantValueAttribute getConstantValue.

Prototype

IConstantPoolEntry getConstantValue();

Source Link

Document

Answer back the constant pool entry that represents the constant value of this attribute.

Usage

From source file:org.fusesource.ide.imports.sap.IDoc3Archive.java

License:Open Source License

private void readVersion() throws IOException {
    Map<String, byte[]> idoc3Contents = new HashMap<String, byte[]>();
    readJARFile(sapidoc3jar, idoc3Contents);
    byte[] jco3IdocContents = idoc3Contents.get(JCOIDOC_CLASSFILE_ENTRY);
    ByteArrayInputStream bais = new ByteArrayInputStream(jco3IdocContents);
    IClassFileReader classfileReader = ToolFactory.createDefaultClassFileReader(bais, IClassFileReader.ALL);
    IFieldInfo[] fieldInfos = classfileReader.getFieldInfos();
    for (int i = 0; i < fieldInfos.length; i++) {
        if (Arrays.equals(fieldInfos[i].getName(), VERSION_NAME)) {
            IConstantValueAttribute constantValueAttribute = fieldInfos[i].getConstantValueAttribute();
            if (constantValueAttribute != null) {
                IConstantPoolEntry constantPoolEntry = constantValueAttribute.getConstantValue();
                if (constantPoolEntry.getKind() == IConstantPoolConstant.CONSTANT_String) {
                    version = constantPoolEntry.getStringValue();
                    if (version != null) {
                        version = version.split(JCOIDOC_VERSION_STRING_DELIMITER)[0];
                    }//from  w w w.j a va2  s .  c o m
                    break;
                }
            }
        }
    }
}