[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal ...
Marshall Culpepper
mculpepper at jboss.com
Fri Feb 9 14:08:32 EST 2007
User: mculpepper
Date: 07/02/09 14:08:32
Added: core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal
PackageReferenceImpl.java
Log:
package reference implementation (lots of delegating methods)
Revision Changes Path
1.1 date: 2007/02/09 19:08:32; author: mculpepper; state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageReferenceImpl.java
Index: PackageReferenceImpl.java
===================================================================
package org.jboss.ide.eclipse.packages.core.model.internal;
import java.util.jar.Manifest;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.jboss.ide.eclipse.packages.core.model.IPackage;
import org.jboss.ide.eclipse.packages.core.model.IPackageFileSet;
import org.jboss.ide.eclipse.packages.core.model.IPackageFolder;
import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
import org.jboss.ide.eclipse.packages.core.model.IPackageNodeVisitor;
import org.jboss.ide.eclipse.packages.core.model.IPackageReference;
import org.jboss.ide.eclipse.packages.core.model.internal.xb.XbPackage;
import org.jboss.ide.eclipse.packages.core.model.types.IPackageType;
public class PackageReferenceImpl implements IPackageReference {
protected IPackage pkg;
protected IPackageNode parent;
protected XbPackage xbPackage;
public PackageReferenceImpl (IPackage pkg, XbPackage xbPackage)
{
this.xbPackage = xbPackage;
setPackage(pkg);
}
public int getNodeType() {
return TYPE_PACKAGE_REFERENCE;
}
public IPackage getPackage() {
return this.pkg;
}
public void setPackage (IPackage pkg)
{
this.pkg = pkg;
String refPath = new String(pkg.getProject().getName());
if (pkg.isDestinationInWorkspace())
{
refPath += "/workspace";
IFile pkgFile = pkg.getPackageFile();
refPath += pkgFile.getFullPath().toString();
}
else {
refPath += "/filesystem/";
String pkgPath = pkg.getPackageFilePath().toOSString();
if (pkgPath.charAt(0) == '/')
{
refPath += pkgPath.substring(1);
} else {
refPath += pkgPath;
}
}
xbPackage.setRef(refPath);
}
public XbPackage getDelegate ()
{
return xbPackage;
}
public IPackageNode getParent() {
return parent;
}
public void setParent(IPackageNode parent) {
this.parent = parent;
xbPackage.setParent(((PackageNodeImpl)parent).getNodeDelegate());
}
public static class RefAttributes {
public static int WORKSPACE = 0;
public static int FILESYSTEM = 1;
public String projectName;
public int locationType;
public IPath packagePath;
}
public static RefAttributes getRefAttributes (String refString)
{
RefAttributes attrs = new RefAttributes();
String pieces[] = refString.split("/", 3);
attrs.projectName = pieces[0];
if (pieces[1].equalsIgnoreCase("workspace")) {
attrs.locationType = RefAttributes.WORKSPACE;
} else {
attrs.locationType = RefAttributes.FILESYSTEM;
}
attrs.packagePath = new Path(pieces[2]);
return attrs;
}
public boolean accept(IPackageNodeVisitor visitor, boolean depthFirst) {
return pkg.accept(visitor, depthFirst);
}
public boolean accept(IPackageNodeVisitor visitor) {
return pkg.accept(visitor);
}
public void addChild(IPackageNode child) {
pkg.addChild(child);
}
public void addChild(IPackageReference pkgRef) {
pkg.addChild(pkgRef);
}
public IPackageNode[] getAllChildren() {
return pkg.getAllChildren();
}
public IPackageNode[] getChildren(int type) {
return pkg.getChildren(type);
}
public IContainer getDestinationContainer() {
return pkg.getDestinationContainer();
}
public IPath getDestinationFolder() {
return pkg.getDestinationFolder();
}
public IPackageFileSet[] getFileSets() {
return pkg.getFileSets();
}
public IPackageFolder[] getFolders() {
return pkg.getFolders();
}
public Manifest getManifest() {
return pkg.getManifest();
}
public String getName() {
return pkg.getName();
}
public IFile getPackageFile() {
return pkg.getPackageFile();
}
public IPath getPackageFilePath() {
return pkg.getPackageFilePath();
}
public IPath getPackageRelativePath() {
return pkg.getPackageRelativePath();
}
public IPackage[] getPackages() {
return pkg.getPackages();
}
public IPackageType getPackageType() {
return pkg.getPackageType();
}
public IProject getProject() {
return pkg.getProject();
}
public String getProperty(String property) {
return pkg.getProperty(property);
}
public boolean hasChild(IPackageNode child) {
return pkg.hasChild(child);
}
public boolean hasChildren() {
return pkg.hasChildren();
}
public boolean hasManifest() {
return pkg.hasManifest();
}
public boolean isDestinationInWorkspace() {
return pkg.isDestinationInWorkspace();
}
public boolean isExploded() {
return pkg.isExploded();
}
public boolean isReference() {
return true;
}
public boolean isTopLevel() {
return pkg.isTopLevel();
}
public void removeChild(IPackageNode child) {
pkg.removeChild(child);
}
public void setDestinationContainer(IContainer container) {
pkg.setDestinationContainer(container);
}
public void setDestinationFolder(IPath path) {
pkg.setDestinationFolder(path);
}
public void setExploded(boolean exploded) {
pkg.setExploded(exploded);
}
public void setManifest(IFile manifestFile) {
pkg.setManifest(manifestFile);
}
public void setName(String name) {
pkg.setName(name);
}
public void setPackageType(IPackageType type) {
pkg.setPackageType(type);
}
public IPackageReference createReference (boolean topLevel) {
return this;
}
}
More information about the jboss-cvs-commits
mailing list