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()
Coder used by this TypedPValue to encode and decode
the values stored in it.IllegalStateException - if the Coder hasn't been set, and
couldn't be inferred.public TypedPValue<T> setCoder(Coder<T> coder)
IllegalStateException - if this TypedPValue has already
been finalized and is no longer settable, e.g., by having
apply() called on itpublic void finishSpecifying()
PValue to make it ready for
running. Automatically invoked whenever the PValue is "used"
(e.g., when apply() is called on it) and when the Pipeline is
run (useful if this is a PValue with no consumers).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.