Example usage for org.eclipse.jdt.core.util IConstantPoolEntry getStringValue

List of usage examples for org.eclipse.jdt.core.util IConstantPoolEntry getStringValue

Introduction

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

Prototype

String getStringValue();

Source Link

Document

Returns the string value for a CONSTANT_String type entry.

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];
                    }/*ww  w.j a  v a 2s  .c  o  m*/
                    break;
                }
            }
        }
    }
}