T - the type of the values stored in this TypedPValuepublic abstract class TypedPValue<T> extends PValueBase implements PValue
TypedPValue<T> is the abstract base class of things that
store some number of values of type T. Because we know
the type T, this is the layer of the inheritance hierarchy where
we store a coder for objects of type T| Modifier | Constructor and Description |
|---|---|
protected |
TypedPValue(Pipeline p) |
| Modifier and Type | Method and Description |
|---|---|
void |
finishSpecifying()
After building, finalizes this PValue to make it ready for
running.
|
Coder<T> |
getCoder()
Returns the Coder used by this TypedPValue to encode and decode
the values stored in it.
|
TypeDescriptor<T> |
getTypeDescriptor()
Returns a
TypeDescriptor<T> with some reflective information
about T, if possible. |
TypedPValue<T> |
setCoder(Coder<T> coder)
Sets the Coder used by this TypedPValue to encode and decode the
values stored in it.
|
TypedPValue<T> |
setTypeDescriptorInternal(TypeDescriptor<T> typeDescriptor)
Sets the
TypeDescriptor<T> associated with this class. |
expand, getKindString, getName, isFinishedSpecifyingInternal, recordAsOutput, recordAsOutput, setName, toStringfinishSpecifyingOutput, getPipeline, getProducingTransformInternalclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetName, getProducingTransformInternalexpand, finishSpecifyingOutput, getPipeline, recordAsOutputexpand, getPipelineprotected TypedPValue(Pipeline p)
public Coder<T> getCoder()
IllegalStateException - if the Coder hasn't been set, and
couldn't be inferredpublic TypedPValue<T> setCoder(Coder<T> coder)
this.IllegalStateException - if this TypedPValue has already
been finalized and is no longer settable, e.g., by having
apply() called on itpublic void finishSpecifying()
finishSpecifying in interface PInputfinishSpecifying in class PValueBasepublic TypeDescriptor<T> getTypeDescriptor()
TypeDescriptor<T> with some reflective information
about T, if possible. May return null if no information
is available. Subclasses may override this to enable better
Coder inference.public TypedPValue<T> setTypeDescriptorInternal(TypeDescriptor<T> typeDescriptor)
TypeDescriptor<T> associated with this class. Better
reflective type information will lead to better Coder
inference.