Class SimpleMeter

  • All Implemented Interfaces:
    ResourceMeter, ResourceRequest
    Direct Known Subclasses:
    NotifyingMeter

    @Deprecated(since="10",
                forRemoval=true)
    public class SimpleMeter
    extends Object
    implements ResourceMeter, ResourceRequest
    Deprecated, for removal: This API element is subject to removal in a future version.
    Resource Management is deprecated for removal with no replacement.
    A SimpleMeter counts resource requests and releases and allocates from an optional parent. The amount is validated before requesting allocation from the parent. Subclasses can override the validation to include bounds checking, notification, callbacks, etc.
    Since:
    8u40
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected SimpleMeter​(ResourceType type, ResourceRequest parent)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Constructor for subclasses.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static SimpleMeter create​(ResourceType type)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns a new SimpleMeter with the ResourceType.
      static SimpleMeter create​(ResourceType type, ResourceRequest parent)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns a new SimpleMeter with the ResourceType and allocating from a parent.
      boolean equals​(Object obj)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Indicates whether some other object is the same object as this one.
      ResourceRequest getParent()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns the parent ResourceRequest.
      int hashCode()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns the hashcode from for this object.
      long request​(long amount, ResourceId id)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns the validated and allocated amount and adjusts the meter.
      String toString()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns a string representation of the meter.
      protected long validate​(long previous, long amount, ResourceId id)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Validate the amount returning the validated amount.
    • Constructor Detail

      • SimpleMeter

        protected SimpleMeter​(ResourceType type,
                              ResourceRequest parent)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Constructor for subclasses.
        Parameters:
        type - the ResourceType for the meter
        parent - a ResourceRequest used as the parent to allocate from; may be null
    • Method Detail

      • create

        public static SimpleMeter create​(ResourceType type)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns a new SimpleMeter with the ResourceType.
        Parameters:
        type - the ResourceType
        Returns:
        a new SimpleMeter
      • create

        public static SimpleMeter create​(ResourceType type,
                                         ResourceRequest parent)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns a new SimpleMeter with the ResourceType and allocating from a parent.
        Parameters:
        type - the ResourceType
        parent - the parent ResourceMeter; may be null
        Returns:
        a new SimpleMeter
      • getParent

        public final ResourceRequest getParent()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns the parent ResourceRequest.
        Returns:
        Returns the parent ResourceRequest; may be null
      • request

        public final long request​(long amount,
                                  ResourceId id)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns the validated and allocated amount and adjusts the meter. For allocation, amount greater than zero, the amount is applied to the meter before validation so it is immediately visible. If the validation or allocation from the parent is for a different amount the delta is restored to the meter. For releasing a resource, amount less than zero, the amount is applied after validation to avoid premature release of the resource.
        Specified by:
        request in interface ResourceRequest
        Parameters:
        amount - the amount to allocate; if zero nothing is done
        id - the ResourceId for the resource instance; may be null
        Returns:
        the allocated amount, zero, positive or negative
      • validate

        protected long validate​(long previous,
                                long amount,
                                ResourceId id)
                         throws ResourceRequestDeniedException
        Deprecated, for removal: This API element is subject to removal in a future version.
        Validate the amount returning the validated amount. Override to apply bounds checks and callbacks.

        For allocation, positive amounts, the amount is applied to the meter before validation so it is immediately visible. For releasing a resource, negative amounts, the amount is applied after validation to avoid premature release of the resource. If the amount returned is different than requested the meter will be corrected with the difference.

        Parameters:
        previous - the meter value before the current request
        amount - an amount, positive to allocate, negative to release
        id - the ResourceId for the resource instance; may be null
        Returns:
        the validated amount, zero or throw an exception to deny; return a value with the same sign as the amount
        Throws:
        ResourceRequestDeniedException - if the amount cannot be satisfied
      • toString

        public String toString()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns a string representation of the meter.
        Overrides:
        toString in class Object
        Returns:
        a string representation of the meter
      • equals

        public final boolean equals​(Object obj)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Indicates whether some other object is the same object as this one.
        Overrides:
        equals in class Object
        Parameters:
        obj - the reference object with which to compare
        Returns:
        true if this object is the same as the obj argument; false otherwise
        See Also:
        Object.hashCode(), HashMap