Package co.aikar.timings

# Class NullTimingHandler

java.lang.Object
co.aikar.timings.NullTimingHandler

All Implemented Interfaces:
  `Timing`, `AutoCloseable`

public final class NullTimingHandler extends Object implements Timing

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Timing`
`NULL`

## Constructor Summary

Constructors
Constructor
Description
`NullTimingHandler()`

## Method Summary

Modifier and Type
Method
Description
`void`
`abort()`
`void`
`close()`
`@Nullable co.aikar.timings.TimingHandler`
`getTimingHandler()`
Used internally to get the actual backing Handler in the case of delegated Handlers
`@NotNull Timing`
`startTiming()`
Starts timing the execution until `Timing.stopTiming()` is called.
`@NotNull Timing`
`startTimingIfSync()`
Starts timing the execution until `Timing.stopTiming()` is called.
`void`
`stopTiming()`
Stops timing and records the data.
`void`
`stopTimingIfSync()`
Stops timing and records the data.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### NULL

public static final Timing NULL

## Constructor Details

### NullTimingHandler

public NullTimingHandler()

## Method Details

### startTiming

@NotNull public @NotNull Timing startTiming()
Description copied from interface: `Timing`
Starts timing the execution until `Timing.stopTiming()` is called.

Specified by:
  `startTiming` in interface `Timing`
Returns:
  Timing

### stopTiming

public void stopTiming()
Description copied from interface: `Timing`

Stops timing and records the data. Propagates the data up to group handlers.

Will automatically be called when this Timing is used with try-with-resources

Specified by:
  `stopTiming` in interface `Timing`

### startTimingIfSync

@NotNull public @NotNull Timing startTimingIfSync()
Description copied from interface: `Timing`
Starts timing the execution until `Timing.stopTiming()` is called. But only if we are on the primary thread.

Specified by:
  `startTimingIfSync` in interface `Timing`
Returns:
  Timing

### stopTimingIfSync

public void stopTimingIfSync()
Description copied from interface: `Timing`

Stops timing and records the data. Propagates the data up to group handlers.

Will automatically be called when this Timing is used with try-with-resources

But only if we are on the primary thread.

Specified by:
  `stopTimingIfSync` in interface `Timing`

### abort

public void abort()

Specified by:
  `abort` in interface `Timing`

### getTimingHandler

@Nullable public @Nullable co.aikar.timings.TimingHandler getTimingHandler()
Description copied from interface: `Timing`
Used internally to get the actual backing Handler in the case of delegated Handlers

Specified by:
  `getTimingHandler` in interface `Timing`
Returns:
  TimingHandler

### close

public void close()

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Timing`