Package org.apache.storm.topology

# Interface ResourceDeclarer<T extends ResourceDeclarer>

All Known Subinterfaces:
  `BoltDeclarer`, `ComponentConfigurationDeclarer<T>`, `LinearDRPCInputDeclarer`, `SpoutDeclarer`

All Known Implementing Classes:
  `BaseConfigurationDeclarer`, `DefaultResourceDeclarer`, `Node`, `PartitionNode`, `ProcessorNode`, `SpoutNode`, `Stream`, `TopologyBuilder.BoltGetter`, `TopologyBuilder.ConfigGetter`, `TopologyBuilder.SpoutGetter`, `TridentState`

public interface ResourceDeclarer<T extends ResourceDeclarer>
This is a new base interface that can be used by anything that wants to mirror RAS's basic API. Trident uses this to allow setting resources in the Stream API.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `T`
  `addSharedMemory(SharedMemory request)`
  Add in request for shared memory that this component will use.
  `T`
  `setCPULoad(Number amount)`
  Set the amount of CPU load for this component.
  `T`
  `setMemoryLoad(Number onHeap)`
  Set the amount of on heap memory for this component.
  `T`
  `setMemoryLoad(Number onHeap, Number offHeap)`
  Set the amount of memory for this component on and off heap.

- ## Method Details

  - ### setMemoryLoad

    T setMemoryLoad(Number onHeap)
    Set the amount of on heap memory for this component.
    Parameters:
      `onHeap` - the amount of on heap memory
    Returns:
      this for chaining

  - ### setMemoryLoad

    T setMemoryLoad(Number onHeap, Number offHeap)
    Set the amount of memory for this component on and off heap.
    Parameters:
      `onHeap` - the amount of on heap memory
      `offHeap` - the amount of off heap memory
    Returns:
      this for chaining

  - ### setCPULoad

    T setCPULoad(Number amount)
    Set the amount of CPU load for this component.
    Parameters:
      `amount` - the amount of CPU
    Returns:
      this for chaining

  - ### addSharedMemory

    T addSharedMemory(SharedMemory request)
    Add in request for shared memory that this component will use. See `SharedOnHeap`, `SharedOffHeapWithinNode`, and `SharedOffHeapWithinWorker` for convenient ways to create shared memory requests.
    Parameters:
      `request` - the shared memory request for this component
    Returns:
      this for chaining