Class DescriptorRegistry


  • public abstract class DescriptorRegistry
    extends java.lang.Object
    A registry for the ConfigurationItems the XL Deploy system should know about. Every CI registry must extend this class, and it can be added to the collection of known registries, which is kept in this class. One special descriptor registry is the LocalDescriptorRegistry, which is usually the default one. Another descriptor registry is the RemoteDescriptorRegistry.
    • Method Detail

      • add

        public static void add​(DescriptorRegistry registry)
        Registers a DescriptorRegistry to a global map.
      • remove

        public static void remove​(DescriptorRegistryId id)
        Unregisters the descriptor registry with the specified id.
      • getDescriptors

        public static java.util.Collection<Descriptor> getDescriptors()
        Returns:
        A collection of all the registered type descriptors.
      • getSubtypes

        public static java.util.Collection<Type> getSubtypes​(Type supertype)
        Parameters:
        supertype - The super type to search against.
        Returns:
        A collection of subtypes of the given super type.
      • getDescriptor

        public static Descriptor getDescriptor​(java.lang.String prefixedName)
        Parameters:
        prefixedName - The prefixed type name of a CI.
        Returns:
        The descriptor of the specified CI type.
      • getDescriptor

        public static Descriptor getDescriptor​(java.lang.String prefix,
                                               java.lang.String name)
        Parameters:
        prefix - The prefix of a CI.
        name - The simple name of a CI.
        Returns:
        The descriptor of the specified CI type.
      • getDescriptor

        public static Descriptor getDescriptor​(Type type)
        Parameters:
        type - The type of a CI.
        Returns:
        The descriptor of the specified CI type.
      • exists

        public static boolean exists​(Type type)
        Parameters:
        type - The type of a CI.
        Returns:
        Whether the given type can be found in the registry.
      • lookupType

        public Type lookupType​(java.lang.Class<?> ciClass)
        Searches in the registry for a CI type by CI class.
        Parameters:
        ciClass - A class instance of a CI.
        Returns:
        The type for the given CI class.
      • lookupType

        public Type lookupType​(java.lang.String typeName)
        Searches in the registry for a CI type by CI prefixed type name.
        Parameters:
        typeName - The prefixed type name of a CI.
        Returns:
        The type of the CI.
      • lookupType

        public Type lookupType​(java.lang.String prefix,
                               java.lang.String simpleName)
        Searches in the registry for a CI type by CI prefix and simple name.
        Parameters:
        prefix - The prefix of a CI.
        simpleName - The simple name of a CI.
        Returns:
        The type of the CI.
      • isLocal

        protected abstract boolean isLocal()
      • _getDescriptors

        protected abstract java.util.Collection<Descriptor> _getDescriptors()
      • _getSubtypes

        protected abstract java.util.Collection<Type> _getSubtypes​(Type supertype)
      • _getDescriptor

        protected abstract Descriptor _getDescriptor​(Type type)
      • _exists

        protected abstract boolean _exists​(Type type)