Class 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 Detail

      • Descriptor

        protected Descriptor​(String name)
        Constructor for a new descriptor
        Parameters:
        name - Name
    • 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:
        true if 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.