# 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 AbstractSelectableChannel

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

  ### Methods declared in class SelectableChannel

  `register`

  ### Methods declared in class AbstractInterruptibleChannel

  `begin, close, end, isOpen`

  ### Methods declared in class Object

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

  ### Methods declared in interface Channel

  `isOpen`

  ### Methods declared in interface ReadableByteChannel

  `read`

  ### Methods declared in interface 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