blob: b5b33ba1061044e54677522470441dbdf1b3816b [file] [log] [blame]
/*********************************************************************
* Copyright (c) 2007, 2012 SpringSource
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
**********************************************************************/
package org.eclipse.virgo.ide.bundlerepository.domain;
import org.eclipse.virgo.ide.runtime.core.artefacts.ArtefactRepositoryManager;
/**
* An exported member of an exported package (class or resource)
*
*/
public class PackageMember {
private byte[] name; // fully-qualified name of the exported member
private PackageExport exportingPackage; // the package exporting this member
private PackageMemberType memberType; // the member type (class or resource)
/* for persistence only */
protected PackageMember() {
}
/**
* Construct a new package member
*
* @param name the fully-qualified member name
* @param memberType the member type (class or resource)
* @param pkg the exporting package
*/
public PackageMember(String name, PackageMemberType memberType, PackageExport pkg) {
this.name = ArtefactRepositoryManager.convert(name);
this.exportingPackage = pkg;
this.memberType = memberType;
}
/**
* The fully-qualified name of this member
*/
public String getName() {
return this.name != null ? new String(this.name) : null;
}
/**
* The type of member (class or resource)
*/
public PackageMemberType getMemberType() {
return this.memberType;
}
/**
* The package exporting this member
*
* @return
*/
public PackageExport getExportingPackage() {
return this.exportingPackage;
}
}