package bluej.extensions;
import java.awt.Graphics2D;
import javax.swing.JMenuItem;
import threadchecker.OnThread;
import threadchecker.Tag;
import bluej.debugmgr.objectbench.ObjectWrapper;
import bluej.extensions.BDependency.Type;
import bluej.extensions.event.ExtensionEvent;
import bluej.extmgr.ExtensionMenu;
import bluej.extmgr.ExtensionPrefManager;
import bluej.extmgr.ExtensionWrapper;
import bluej.pkgmgr.Package;
import bluej.pkgmgr.PkgMgrFrame;
import bluej.pkgmgr.Project;
import bluej.pkgmgr.dependency.Dependency;
import bluej.pkgmgr.Layer;
import bluej.pkgmgr.target.ClassTarget;
import bluej.pkgmgr.target.DependentTarget;
import com.sun.jdi.Value;
| This class acts as a bridge between the extensions package and other
| BlueJ-internal packages (extmgr) to provide access to methods which
| shouldn't be documented in the Extensions API Javadoc. By using this class,
| those methods can be made package-local.
|
| This class should be excluded when the Javadoc API documentation is generated.
|
public final class ExtensionBridge
{
public static void delegateEvent(BlueJ thisBluej, ExtensionEvent anEvent)
{
thisBluej.delegateEvent(anEvent);
}
public static Object getVal(PkgMgrFrame aFrame, String instanceName, Value val)
{
return BField.doGetVal(aFrame, instanceName, val);
}
public static BlueJ newBluej(ExtensionWrapper aWrapper,
ExtensionPrefManager aPrefManager) {
return new BlueJ(aWrapper, aPrefManager);
}
public static BObject newBObject(ObjectWrapper aWrapper)
{
return new BObject(aWrapper);
}
public static BProject newBProject(Project bluejPrj)
{
return new BProject(new Identifier(bluejPrj));
}
@OnThread(Tag.Any)
public static BPackage newBPackage(Package bluejPkg)
{
return new BPackage(new Identifier(bluejPkg.getProject(), bluejPkg));
}
public static BClass newBClass(ClassTarget classTarget)
{
Package bluejPkg = classTarget.getPackage();
Project bluejPrj = bluejPkg.getProject();
return new BClass(new Identifier(bluejPrj, bluejPkg,
classTarget.getQualifiedName()));
}
public static BClassTarget newBClassTarget(ClassTarget classTarget)
{
Package bluejPackage = classTarget.getPackage();
Project bluejProject = bluejPackage.getProject();
return new BClassTarget(new Identifier(bluejProject, bluejPackage,
classTarget.getQualifiedName()));
}
public static BDependency newBDependency(Dependency dependency, Type type)
{
DependentTarget from = dependency.getFrom();
DependentTarget to = dependency.getTo();
Package bluejPackage = from.getPackage();
Project bluejProject = bluejPackage.getProject();
String qualifiedNameFrom = bluejPackage.getQualifiedName(from.getIdentifierName());
String qualifiedNameTo = bluejPackage.getQualifiedName(to.getIdentifierName());
return new BDependency(new Identifier(bluejProject, bluejPackage, qualifiedNameFrom),
new Identifier(bluejProject, bluejPackage, qualifiedNameTo), type);
}
public static void ChangeBClassName(BClass bClass, String newName)
{
bClass.nameChanged(newName);
}
public static void changeBClassTargetName(BClassTarget bClassTarget, String newName)
{
bClassTarget.nameChanged(newName);
}
public static void changeBDependencyOriginName(BDependency bDependency, String newOriginName)
{
bDependency.originNameChanged(newOriginName);
}
public static void changeBDependencyTargetName(BDependency bDependency, String newTargetName)
{
bDependency.targetNameChanged(newTargetName);
}
public static JMenuItem getMenuItem(BlueJ aBluej, ExtensionMenu attachedObject)
{
return aBluej.getMenuItem(attachedObject);
}
public static void postMenuItem(BlueJ aBluej, ExtensionMenu attachedObject,
JMenuItem onThisItem)
{
aBluej.postMenuItem(attachedObject, onThisItem);
}
public static void clearObjectBench(BProject project) throws ProjectNotOpenException
{
project.clearObjectBench();
}
public static void drawExtensionClassTarget(BlueJ bluej, Layer layer,
BClassTarget bClassTarget, Graphics2D graphics, int width, int height)
{
bluej.drawExtensionClassTarget(layer, bClassTarget, graphics, width, height);
}
public static Project getProject(BProject bProject) throws ProjectNotOpenException
{
return bProject.getProject();
}
public static PkgMgrFrame getPkgMgrFrame(BPackage pkg) throws ProjectNotOpenException, PackageNotFoundException
{
return pkg.getPkgMgrFrame();
}
public static Object getFieldValue(BField field, BObject bObject, boolean unpackArray) throws ProjectNotOpenException, PackageNotFoundException
{
return field.getValue(bObject, unpackArray);
}
}
top,
use,
map,
class ExtensionBridge
. delegateEvent
. getVal
. newBluej
. newBObject
. newBProject
. newBPackage
. newBClass
. newBClassTarget
. newBDependency
. ChangeBClassName
. changeBClassTargetName
. changeBDependencyOriginName
. changeBDependencyTargetName
. getMenuItem
. postMenuItem
. clearObjectBench
. drawExtensionClassTarget
. getProject
. getPkgMgrFrame
. getFieldValue
166 neLoCode
+ 5 LoComm