// Specific reference to custom URL link provider
private UrlProviderI customProvider;
+ // List of columns which this provider will supply
+ private List<String> colNames = new ArrayList<String>();
+
/**
* Construct URL provider from string of cached URLs, and set default URL
*
providers = new ArrayList<UrlProviderI>();
UrlProviderI idProvider = new IdentifiersUrlProvider(cachedUrlList,
- ID_ORG_FILE);
+ IdentifiersUrlProvider.ID_ORG_FILE);
customProvider = new CustomUrlProvider(cachedUrlList);
providers.add(idProvider);
providers.add(customProvider);
+ setUpColumns();
+
// check that the defaultUrl still exists
if (!setDefaultUrl(defaultUrlString))
{
providers = new ArrayList<UrlProviderI>();
UrlProviderI idProvider = new IdentifiersUrlProvider(null,
- ID_ORG_FILE);
+ IdentifiersUrlProvider.ID_ORG_FILE);
customProvider = new CustomUrlProvider(urlList);
providers.add(idProvider);
providers.add(customProvider);
+ setUpColumns();
+
// check that the defaultUrl still exists
if (!setDefaultUrl(defaultUrlString))
{
}
}
- @Override
- public String getDefaultUrl()
+ private void setUpColumns()
{
- String defaultUrl = null;
- for (UrlProviderI p : providers)
- {
- defaultUrl = p.getDefaultUrl();
- if (defaultUrl != null)
- {
- return defaultUrl;
- }
- }
-
- // no provider has a default set, just choose one
- if (defaultUrl == null)
- {
- defaultUrl = chooseDefaultUrl();
- }
- return defaultUrl;
+ colNames.add("Name");
+ colNames.add("URL");
+ colNames.add("In Menu");
+ colNames.add("Default");
+ colNames.add("ID");
}
@Override
}
@Override
- public Vector<String> getLinksForDisplay()
+ public Vector<String> getLinksForMenu()
{
Vector<String> fullLinks = new Vector<String>();
for (UrlProviderI p : providers)
{
- List<String> links = p.getLinksForDisplay();
+ List<String> links = p.getLinksForMenu();
if (links != null)
{
// will obliterate links with same keys from different providers
}
return target;
}
-
- @Override
- public void setUrlLinks(Vector<String> names, Vector<String> urls)
- {
- // only allow custom urls to be updated by user
- customProvider.setUrlLinks(names, urls);
- }
@Override
public String chooseDefaultUrl()
{
return customProvider.isUserEntry(id);
}
+
+ @Override
+ public List<String> getDisplayColumnNames()
+ {
+ return colNames.subList(0, 4);
+ }
}