/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.integration.viewer.status; import java.util.Set; /** * View status model */ public interface ViewStatusModel { /** * Gets all the view status result keys * * @return the set of keys for collected view status, empty set if no result. */ Set<ViewStatusKey> keySet(); /** * Gets the status value stored for a key * * @param key the view status key, can be null * @return the stored status value for a given key or null if no matching key. */ ViewStatus getStatus(ViewStatusKey key); /** * Gets all the supported value requirement names. * * @return the set of value requirement names, empty set if none. */ Set<String> getValueRequirementNames(); /** * Gets all supported currencies. * * @return the set of currencies, empty set if none. */ Set<String> getCurrencies(); /** * Gets all supported security types. * * @return the set of security types, empty set if none. */ Set<String> getSecurityTypes(); /** * Gets all supported computation target types. * * @return the set of computation target types, empty set if none. */ Set<String> getComputationTargetTypes(); /** * Returns the number of rows in the model. * * @return the number of rows in the model */ int getRowCount(); /** * Returns the number of columns in the model. * * @return the number of columns in the model */ int getColumnCount(); /** * Returns the value for the cell at <code>columnIndex</code> and * <code>rowIndex</code>. * * @param rowIndex the row whose value is to be queried * @param columnIndex the column whose value is to be queried * @return the value Object at the specified cell * @throws IllegalArgumentException if rowIndex or columnIndex is out of range */ Object getRowValueAt(int rowIndex, int columnIndex); /** * Return the number of rows in the header for the model. * * @return the number of rows in the header. */ int getHeaderRowCount(); /** * Returns the name of the column at <code>columnIndex</code> and <code>rowIndex</code>. * * @param rowIndex the row whose value is to be queried * @param columnIndex the column whose value is to be queried * @return the name of column header at specified cell * @throws IllegalArgumentException if rowIndex or columnIndex is out of range */ String getColumnNameAt(int rowIndex, int columnIndex); }