001 package org.findata.blpwrapper; 002 003 import com.bloomberglp.blpapi.*; 004 005 import java.util.logging.Logger; 006 007 public class FieldInfoResult extends DataResult { 008 public static final String[] returned_fields = {"id", "mnemonic", "description", "datatype"}; 009 private String[][] result_data; 010 011 public FieldInfoResult(String[] fields) { 012 result_data = new String[fields.length][returned_fields.length]; 013 } 014 015 public String[][] getData() { 016 return(result_data); 017 } 018 019 public String[] getDataTypes() { 020 String[] data_types = {"STRING", "STRING", "STRING", "STRING"}; 021 return(data_types); 022 } 023 024 public String[] getColumnNames() { 025 return(returned_fields); 026 } 027 028 public void processResponse(Element response, Logger logger, boolean throwInvalidSecurityError) throws WrapperException { 029 Element field_data = response.getElement("fieldData"); 030 for (int i = 0; i < field_data.numValues(); i++) { 031 Element field = field_data.getValueAsElement(i); 032 033 try { 034 Element field_info = field.getElement("fieldInfo"); 035 result_data[i][0] = field.getElementAsString("id"); 036 for (int j = 1; j < returned_fields.length; j++) { 037 result_data[i][j] = field_info.getElementAsString(returned_fields[j]); 038 } 039 } catch (com.bloomberglp.blpapi.NotFoundException e) { 040 throw new WrapperException("field " + field.getElementAsString("id") + " not found"); 041 } 042 } 043 } 044 }