я получаю природу java, используя это:
IExtensionPoint ex= Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.core.resources.natures");
и получаю изображения природы, используя это:
IExtensionPoint ex2= Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.ui.ide.projectNatureImages");
поэтому у меня есть объект, который содержит элемент IExtension и элемент Image:
public class NatureInformationWrapper {
private IExtension extension;
private Image image;
public IExtension getExtension() {
return extension;
}
public void setExtension(IExtension extension) {
this.extension = extension;
}
public Image getImage() {
return image;
}
public void setImage(Image image) {
this.image = image;
}
}
Я устанавливаю IExtensions, делая это:
ArrayList<String> identifiers=new ArrayList<String>();
ArrayList<NatureInformationWrapper> extensionsList= new
ArrayList<NatureInformationWrapper>();
for(int index=0; index< extensions.length; index++) {
extensionsList.add(niw);
}
, и я устанавливаю изображение следующим образом:
for(int index2=0; index2<imageExtensionsList.size(); index2++) {
IConfigurationElement[] configurationElements=imageExtensionsList.get(index2).getConfigurationElements();
for(int index3=0; index3<configurationElements.length; index3++) {
String natureId=imageExtensionsList.get(index2).getConfigurationElements()[index3].getAttribute("natureId");
for(int listInputIndex=0; listInputIndex<extensionsList.size(); listInputIndex++) {
String currentNatureId=extensionsList.get(listInputIndex).getExtension().getUniqueIdentifier();
if(natureId.equals(currentNatureId)) {
Image img=null;
String icon = configurationElements[index3].getAttribute("icon");
icon = icon.replace("$nl$", "");
if (icon !=null) {
final String cont = configurationElements[index3].getContributor().getName();
final Bundle bundle= Platform.getBundle(cont);
final URL entry = bundle.getEntry(icon);
final ImageDescriptor des = ImageDescriptor.createFromURL(entry);
img= des.createImage();
}
extensionsList.get(listInputIndex).setImage(img);
}
}
}
}
Но ex2.getExtensions();
всегда возвращаетсяодин элемент, и это IExtension для org.eclipse.jdt.core.javanature.
Мой вопрос: как я могу получить больше IExtensions от ex2.getExtensions();
?
мне нужно что-то установить?