Class DeferredGenericTypeResource

  • All Implemented Interfaces:
    Resource
    Direct Known Subclasses:
    GenericTypeResource

    public class DeferredGenericTypeResource
    extends AbstractResource
    A GenericTypeResource which defers the resource type definition lookup until the collection resource is accessed. This allows generic resources to be constructed on the Minion, by only referring to the type, without having to pass the resource type definitions back and forth.
    Author:
    jwhite
    • Constructor Detail

      • DeferredGenericTypeResource

        public DeferredGenericTypeResource​(NodeLevelResource node,
                                           java.lang.String resourceTypeName,
                                           java.lang.String instance)
      • DeferredGenericTypeResource

        public DeferredGenericTypeResource​(NodeLevelResource node,
                                           java.lang.String resourceTypeName,
                                           java.lang.String fallbackResourceTypeName,
                                           java.lang.String instance)
    • Method Detail

      • getTypeName

        public java.lang.String getTypeName()
        Description copied from interface: Resource
        Returns the type name associated with the resource. Used for thresholding.
        Returns:
        type name
      • getFallbackTypeName

        public java.lang.String getFallbackTypeName()
      • getInstance

        public java.lang.String getInstance()
        Description copied from interface: Resource
        Returns a unique name for the instance of this resource. Used by the IndexStorageStrategy
        Returns:
        instance name
      • getUnmodifiedInstance

        public java.lang.String getUnmodifiedInstance()
        Description copied from interface: Resource
        Returns the original unmodified unique name for the instance of this resource. Used by the ObjectNameStorageStrategy
        Returns:
        instance name
      • getLabel

        public java.lang.String getLabel​(CollectionResource resource)
        Description copied from interface: Resource
        Returns a unique label for the instance of this resource. This label is used by threshd to generate a unique id on a per resource basis, grouped by node. See CollectionResourceWrapper
        Returns:
        a String object.
      • getPath

        public ResourcePath getPath​(CollectionResource resource)
        Description copied from interface: Resource
        Retrieves the path of the resource, relative to the repository root.
        Parameters:
        resource - Used by the GenericTypeResource in order to determine the instance name.
        Returns:
        relative path
      • resolve

        public Resource resolve()
        Description copied from interface: Resource

        Used to lookup additional resource related information that may not have been available when the resource was created, and optionally return a new resource.

        See resolve().

        This method should only be called when running in the context of the OpenNMS JVM (and not the Minion).

        Specified by:
        resolve in interface Resource
        Overrides:
        resolve in class AbstractResource
        Returns:
        possibly a new resource, or this same instance if no resolving was performed
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object