Interface ResourceDefinition

All Superinterfaces:
Feature, ResourceRegistration
All Known Implementing Classes:
AbstractSocketBindingGroupResourceDefinition, AbstractSocketBindingResourceDefinition, BaseHttpInterfaceResourceDefinition, BaseNativeInterfaceResourceDefinition, DelegatingResourceDefinition, ExtensionResourceDefinition, ExtensionSubsystemResourceDefinition, InterfaceDefinition, LegacyResourceDefinition, ModelOnlyResourceDefinition, PathResourceDefinition, PersistentResourceDefinition, ProvidedResourceDefinition, ResourceDefinition.MinimalResourceDefinition, SimpleResourceDefinition

public interface ResourceDefinition extends ResourceRegistration
Provides essential information defining a management resource.
Author:
Brian Stansberry (c) 2011 Red Hat Inc.
  • Method Details

    • getDescriptionProvider

      DescriptionProvider getDescriptionProvider(ImmutableManagementResourceRegistration resourceRegistration)
      Gets a DescriptionProvider for the given resource.
      Parameters:
      resourceRegistration - the resource. Cannot be null
      Returns:
      the description provider. Will not be null
    • registerOperations

      void registerOperations(ManagementResourceRegistration resourceRegistration)
      Register operations associated with this resource.
      Parameters:
      resourceRegistration - a ManagementResourceRegistration created from this definition
    • registerAttributes

      void registerAttributes(ManagementResourceRegistration resourceRegistration)
      Register operations associated with this resource.
      Parameters:
      resourceRegistration - a ManagementResourceRegistration created from this definition
    • registerNotifications

      void registerNotifications(ManagementResourceRegistration resourceRegistration)
      Register notifications associated with this resource.
      Parameters:
      resourceRegistration - a ManagementResourceRegistration created from this definition
    • registerChildren

      void registerChildren(ManagementResourceRegistration resourceRegistration)
      Register child resources associated with this resource.
      Parameters:
      resourceRegistration - a ManagementResourceRegistration created from this definition
    • registerCapabilities

      default void registerCapabilities(ManagementResourceRegistration resourceRegistration)
      Register capabilities associated with this resource.
      Parameters:
      resourceRegistration - a ManagementResourceRegistration created from this definition
    • registerAdditionalRuntimePackages

      default void registerAdditionalRuntimePackages(ManagementResourceRegistration resourceRegistration)
      Register "additional" Galleon packages that must be installed in order for this Resource to function. NB: the packages need to be visible from the feature pack that contains the ResourceDefinition. It can't be any package from any feature pack. The purpose of providing this information is to make it available to the Galleon tooling that produces Galleon feature-specs, in order to allow the tooling to include the package information in the relevant spec.

      A package is "additional" if it is not one of the "standard" packages that must be installed. The names of "standard" packages should not be registered. The "standard" packages are:

      1. The root package for the process type; i.e. the package that provides the main module whose name is passed to JBoss Modules when the process is launched.
      2. The package that installs the module that provides the extension in which the resource is defined.
      3. Any package that is non-optionally directly or transitively required by one of the other types of standard packages.
      Additional packages fall into in the following categories:
      1. Packages that install required modules injected into Deployment Unit can be registered as required RuntimePackageDependency.
      2. Packages that install optional modules injected into Deployment Unit can be registered as optional RuntimePackageDependency.
      3. Packages that install modules that are only required if the resource associated to this definition is instantiated are to be registered as required RuntimePackageDependency.
      4. Packages that install modules that are only required by this feature in order to interact with other features are to be registered as passive RuntimePackageDependency. A passive dependency is provisioned only if its own required dependencies are present.
      Parameters:
      resourceRegistration - a ManagementResourceRegistration created from this definition
    • getAccessConstraints

      List<AccessConstraintDefinition> getAccessConstraints()
      Get the definition of any access constraints associated with the resource.
      Returns:
      the access constraints or an empty list; will not return null.
    • isRuntime

      boolean isRuntime()
      Returns:
      true if resource is runtime
      Since:
      WildFly Core 1.0, WildFly 9.0
    • isOrderedChild

      boolean isOrderedChild()
      Whether this is an ordered child or not
      Returns:
      true if this child is ordered within the parent, false otherwise
    • getMaxOccurs

      default int getMaxOccurs()
      Gets the maximum number of times a resource of the type described by this definition can occur under its parent resource (or, for a root resource, the minimum number of times it can occur at all.)
      Returns:
      the minimum number of occurrences
    • getMinOccurs

      default int getMinOccurs()
      Gets the minimum number of times a resource of the type described by this definition can occur under its parent resource (or, for a root resource, the number of times it can occur at all.)
      Returns:
      the minimum number of occurrences
    • isFeature

      default boolean isFeature()
    • builder

      static ResourceDefinition.Builder builder(ResourceRegistration registration, ResourceDescriptionResolver descriptionResolver)
      Creates a minimal ResourceDefinition builder using the specified registration and description resolver.
      Parameters:
      registration - the resource registration
      descriptionResolver - the resource description resolver
      Returns:
      a builder instance
      Throws:
      NullPointerException - if registration or descriptionResolver were null
    • builder

      static ResourceDefinition.Builder builder(ResourceRegistration registration, ResourceDescriptionResolver descriptionResolver, SubsystemModel deprecation)
      Creates a minimal ResourceDefinition builder using the specified registration and description resolver, deprecated as of the version of the specified model.
      Parameters:
      registration - the resource registration
      descriptionResolver - a resolver of model descriptions for this resource
      deprecation - the model that deprecates this resource
      Returns:
      a builder instance
      Throws:
      NullPointerException - if registration or descriptionResolver were null
    • builder

      static ResourceDefinition.Builder builder(ResourceRegistration registration, DescriptionProvider descriptionProvider)
      Creates a ResourceDefinition builder using the specified registration and description resolver
      Parameters:
      registration - the resource registration
      descriptionProvider - provides model descriptions for this resource
      Returns:
      a builder instance
      Throws:
      NullPointerException - if registration or descriptionProvider were null