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 }