package com.esri.gpt.control.rest.repositories;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
public class RepositoriesResultMetadata implements ResultSetMetaData {
private LinkedHashMap<String, Map<String, String>> _repos;
private Entry<String, Map<String, String>> _entrySet;
public RepositoriesResultMetadata(LinkedHashMap<String, Map<String, String>> repos, int index) {
this._repos = repos;
this._entrySet = (Entry<String, Map<String, String>>) repos.entrySet().toArray()[index];
}
private Entry<String, Map<String, String>> getEntrySet() {
return this._entrySet;
}
@Override
public <T> T unwrap(Class<T> iface) throws SQLException {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isWrapperFor(Class<?> iface) throws SQLException {
// TODO Auto-generated method stub
return false;
}
@Override
public int getColumnCount() throws SQLException {
return this.getEntrySet().getValue().size();
}
@Override
public boolean isAutoIncrement(int column) throws SQLException {
return false;
}
@Override
public boolean isCaseSensitive(int column) throws SQLException {
return false;
}
@Override
public boolean isSearchable(int column) throws SQLException {
return false;
}
@Override
public boolean isCurrency(int column) throws SQLException {
return false;
}
@Override
public int isNullable(int column) throws SQLException {
return 0;
}
@Override
public boolean isSigned(int column) throws SQLException {
return false;
}
@Override
public int getColumnDisplaySize(int column) throws SQLException {
return 0;
}
private String getEntryName(int column) {
column--;
if(column < this.getEntrySet().getValue().keySet().toArray().length )
return this.getEntrySet().getValue().keySet().toArray()[column].toString();
return "";
}
@Override
public String getColumnLabel(int column) throws SQLException {
return getEntryName(column);
}
@Override
public String getColumnName(int column) throws SQLException {
return getEntryName(column);
}
@Override
public String getSchemaName(int column) throws SQLException {
return getEntryName(column);
}
@Override
public int getPrecision(int column) throws SQLException {
return 0;
}
@Override
public int getScale(int column) throws SQLException {
return 0;
}
@Override
public String getTableName(int column) throws SQLException {
return "";
}
@Override
public String getCatalogName(int column) throws SQLException {
return "";
}
@Override
public int getColumnType(int column) throws SQLException {
return 0;
}
@Override
public String getColumnTypeName(int column) throws SQLException {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isReadOnly(int column) throws SQLException {
return true;
}
@Override
public boolean isWritable(int column) throws SQLException {
return false;
}
@Override
public boolean isDefinitelyWritable(int column) throws SQLException {
return false;
}
@Override
public String getColumnClassName(int column) throws SQLException {
// TODO Auto-generated method stub
return null;
}
}