@Override public void finishSpecifyingOutput( String transformName, PInput input, PTransform<?, ?> transform) { this.coderOrFailure = inferCoderOrFail( input, transform, getPipeline().getCoderRegistry(), getPipeline().getSchemaRegistry()); super.finishSpecifyingOutput(transformName, input, transform); }
/** * After building, finalizes this {@link PValue} to make it ready for running. Automatically * invoked whenever the {@link PValue} is "used" (e.g., when apply() is called on it) and when the * Pipeline is run (useful if this is a {@link PValue} with no consumers). */ @Override public void finishSpecifying(PInput input, PTransform<?, ?> transform) { if (isFinishedSpecifying()) { return; } this.coderOrFailure = inferCoderOrFail( input, transform, getPipeline().getCoderRegistry(), getPipeline().getSchemaRegistry()); // Ensure that this TypedPValue has a coder by inferring the coder if none exists; If not, // this will throw an exception. getCoder(); super.finishSpecifying(input, transform); }