# Class Pipe.SourceChannel

java.lang.Object
java.nio.channels.spi.AbstractInterruptibleChannel
java.nio.channels.SelectableChannel
java.nio.channels.spi.AbstractSelectableChannel
java.nio.channels.Pipe.SourceChannel

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `Channel`, `InterruptibleChannel`, `ReadableByteChannel`, `ScatteringByteChannel`

Enclosing class:
  `Pipe`

public abstract static class Pipe.SourceChannel extends AbstractSelectableChannel implements ReadableByteChannel, ScatteringByteChannel
A channel representing the readable end of a `Pipe`.

Since:
  1.4

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `SourceChannel(SelectorProvider provider)`
  Constructs a new instance of this class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final int`
  `validOps()`
  Returns an operation set identifying this channel's supported operations.

  ### Methods declared in class java.nio.channels.spi.AbstractSelectableChannel

  `blockingLock, configureBlocking, implCloseChannel, implCloseSelectableChannel, implConfigureBlocking, isBlocking, isRegistered, keyFor, provider, register`

  ### Methods declared in class java.nio.channels.SelectableChannel

  `register`

  ### Methods declared in class java.nio.channels.spi.AbstractInterruptibleChannel

  `begin, close, end, isOpen`

  ### Methods declared in class java.lang.Object

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

  ### Methods declared in interface java.nio.channels.Channel

  `isOpen`

  ### Methods declared in interface java.nio.channels.ReadableByteChannel

  `read`

  ### Methods declared in interface java.nio.channels.ScatteringByteChannel

  `read, read`

- ## Constructor Details

  - ### SourceChannel

    protected SourceChannel(SelectorProvider provider)
    Constructs a new instance of this class.
    Parameters:
      `provider` - The selector provider

- ## Method Details

  - ### validOps

    public final int validOps()
    Returns an operation set identifying this channel's supported operations.

    Pipe-source channels only support reading, so this method returns `SelectionKey.OP_READ`.

    Specified by:
      `validOps` in class `SelectableChannel`
    Returns:
      The valid-operation set