Package org.apache.sling.feature.scanner
Class Descriptor
- java.lang.Object
-
- org.apache.sling.feature.scanner.Descriptor
-
- Direct Known Subclasses:
ArtifactDescriptor,ContainerDescriptor
public abstract class Descriptor extends Object
A descriptor holds information about requirements and capabilities. Note that this implementation is not synchronized. If multiple threads access a descriptor concurrently, and at least one of the threads modifies the descriptor structurally, it must be synchronized externally. However, once a descriptor is locked, it is safe to access it concurrently.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedDescriptor(String name)Constructor for a new descriptor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaggregate(Descriptor d)Aggregate with data from provided descriptorprotected voidcheckLocked()Internal method for checking locked stateSet<org.osgi.resource.Capability>getCapabilities()Return the list of capabilities.Set<PackageInfo>getDynamicImportedPackages()Return a set of dynamic imported packagesSet<PackageInfo>getExportedPackages()Return a set of exported packagesSet<PackageInfo>getImportedPackages()Return a set of imported packagesStringgetName()Returns the name of the entity associated with this descriptor.Set<org.apache.sling.feature.MatchingRequirement>getRequirements()Return the list of requirements.booleanisLocked()Check if the descriptor is lockedvoidlock()Lock the descriptor.StringtoString()
-
-
-
Constructor Detail
-
Descriptor
protected Descriptor(String name)
Constructor for a new descriptor- Parameters:
name- Name- Throws:
IllegalArgumentException- if name isnull
-
-
Method Detail
-
lock
public void lock()
Lock the descriptor. Once invoked no changes can be made to the descriptor.
-
isLocked
public final boolean isLocked()
Check if the descriptor is locked- Returns:
trueif locked.
-
checkLocked
protected void checkLocked()
Internal method for checking locked state- Throws:
IllegalStateException- If locked
-
aggregate
protected void aggregate(Descriptor d)
Aggregate with data from provided descriptor- Parameters:
d- The other descriptor
-
getExportedPackages
public final Set<PackageInfo> getExportedPackages()
Return a set of exported packages- Returns:
- The exported packages. Might be empty.
-
getImportedPackages
public final Set<PackageInfo> getImportedPackages()
Return a set of imported packages- Returns:
- The imported packages. Might be empty.
-
getDynamicImportedPackages
public final Set<PackageInfo> getDynamicImportedPackages()
Return a set of dynamic imported packages- Returns:
- The dynamic imported packages. Might be empty.
-
getName
public String getName()
Returns the name of the entity associated with this descriptor.- Returns:
- the name.
-
getRequirements
public final Set<org.apache.sling.feature.MatchingRequirement> getRequirements()
Return the list of requirements.- Returns:
- The list of requirements. The list might be empty.
-
getCapabilities
public final Set<org.osgi.resource.Capability> getCapabilities()
Return the list of capabilities.- Returns:
- The list of capabilities. The list might be empty.
-
-