package org.eclipse.core.internal.registry;
import org.eclipse.core.runtime.*;
public class ExtensionDelta implements IExtensionDelta {
private int kind;
private int extension;
private int extensionPoint;
private RegistryDelta containingDelta;
void setContainingDelta(RegistryDelta containingDelta) {
this.containingDelta = containingDelta;
}
int getExtensionId() {
return extension;
}
int getExtensionPointId() {
return extensionPoint;
}
@Override
public IExtensionPoint getExtensionPoint() {
return new ExtensionPointHandle(containingDelta.getObjectManager(), extensionPoint);
}
public void setExtensionPoint(int extensionPoint) {
this.extensionPoint = extensionPoint;
}
@Override
public int getKind() {
return kind;
}
@Override
public IExtension getExtension() {
return new ExtensionHandle(containingDelta.getObjectManager(), extension);
}
public void setExtension(int extension) {
this.extension = extension;
}
public void setKind(int kind) {
this.kind = kind;
}
@Override
public String toString() {
return "\n\t\t" + getExtensionPoint().getUniqueIdentifier() + " - " + getExtension().getNamespaceIdentifier() + '.' + getExtension().getSimpleIdentifier() + " (" + getKindString(this.getKind()) + ")";
}
public static String getKindString(int kind) {
switch (kind) {
case ADDED :
return "ADDED";
case REMOVED :
return "REMOVED";
}
return "UNKNOWN";
}
}