com.google.cloud.dataflow.sdk.transforms

## Class RemoveDuplicates.WithRepresentativeValues<T,IdT>

- java.lang.Object
- - com.google.cloud.dataflow.sdk.transforms.PTransform<PCollection<T>,PCollection<T>>
  - - com.google.cloud.dataflow.sdk.transforms.RemoveDuplicates.WithRepresentativeValues<T,IdT>

Type Parameters:
  `T` - the type of input and output element
  `IdT` - the type of representative values used to dedup

All Implemented Interfaces:
  HasDisplayData, Serializable

Enclosing class:
  RemoveDuplicates<T>

    public static class RemoveDuplicates.WithRepresentativeValues<T,IdT>
    extends PTransform<PCollection<T>,PCollection<T>>

A `RemoveDuplicates` `PTransform` that uses a `SerializableFunction` to obtain a representative value for each input element. Construct via `RemoveDuplicates.withRepresentativeValueFn(SerializableFunction)`.

See Also:
  Serialized Form

### Field Summary

### Fields inherited from class com.google.cloud.dataflow.sdk.transforms.PTransform

`name`

### Method Summary

All Methods Instance Methods Concrete Methods
`PCollection<T>` `apply(PCollection<T> in)` Applies this `PTransform` on the given `InputT`, and returns its `Output`.
`RemoveDuplicates.WithRepresentativeValues<T,IdT>` `withRepresentativeType(TypeDescriptor<IdT> type)` Return a `WithRepresentativeValues` `PTransform` that is like this one, but with the specified output type descriptor.

### Methods inherited from class com.google.cloud.dataflow.sdk.transforms.PTransform

`getDefaultOutputCoder, getDefaultOutputCoder, getDefaultOutputCoder, getKindString, getName, populateDisplayData, toString, validate`

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

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

### Method Detail

#### apply

    public PCollection<T> apply(PCollection<T> in)

Description copied from class: `PTransform`
Applies this `PTransform` on the given `InputT`, and returns its `Output`.

Composite transforms, which are defined in terms of other transforms, should return the output of one of the composed transforms. Non-composite transforms, which do not apply any transforms internally, should return a new unbound output and register evaluators (via backend-specific registration methods).

The default implementation throws an exception. A derived class must either implement apply, or else each runner must supply a custom implementation via `PipelineRunner.apply(com.google.cloud.dataflow.sdk.transforms.PTransform<InputT, OutputT>, InputT)`.

Overrides:
  `apply` in class `PTransform<PCollection<T>,PCollection<T>>`

#### withRepresentativeType

    public RemoveDuplicates.WithRepresentativeValues<T,IdT> withRepresentativeType(TypeDescriptor<IdT> type)

Return a `WithRepresentativeValues` `PTransform` that is like this one, but with the specified output type descriptor. Required for use of `RemoveDuplicates.withRepresentativeValueFn(SerializableFunction)` in Java 8 with a lambda as the fn.

Parameters:
  `type` - a `TypeDescriptor` describing the representative type of this `WithRepresentativeValues`
Returns:
  A `WithRepresentativeValues` `PTransform` that is like this one, but with the specified output type descriptor.