Interface PlanDeserializer<M extends Message,T>

Type Parameters:
M - the message that serializes T
T - the object that is serialized by an instance of M
All Known Implementing Classes:
AbstractArrayConstructorValue.LightArrayConstructorValue.Deserializer, AndOrValue.Deserializer, AndPredicate.Deserializer, ArithmeticValue.Deserializer, AvailableFields.ConditionalUponPathPredicate.Deserializer, AvailableFields.TruePredicate.Deserializer, CollateValue.Deserializer, Comparisons.InvertedFunctionComparison.Deserializer, Comparisons.ListComparison.Deserializer, Comparisons.MultiColumnComparison.Deserializer, Comparisons.NullComparison.Deserializer, Comparisons.OpaqueEqualityComparison.Deserializer, Comparisons.ParameterComparison.Deserializer, Comparisons.SimpleComparison.Deserializer, Comparisons.ValueComparison.Deserializer, CompatibleTypeEvolutionPredicate.Deserializer, ConditionSelectorValue.Deserializer, ConstantObjectValue.Deserializer, ConstantPredicate.Deserializer, ConstantValue.Deserializer, CountValue.Deserializer, DatabaseObjectDependenciesPredicate.Deserializer, DerivedValue.Deserializer, EmptyValue.Deserializer, ExistsPredicate.Deserializer, ExistsValue.Deserializer, FieldValue.Deserializer, FirstOrDefaultValue.Deserializer, FromOrderedBytesValue.Deserializer, InComparandSource.Deserializer, IndexedValue.Deserializer, IndexEntryObjectValue.Deserializer, IndexKeyValueToPartialRecord.FieldCopier.Deserializer, IndexKeyValueToPartialRecord.FieldWithValueCopier.Deserializer, IndexKeyValueToPartialRecord.MessageCopier.Deserializer, IndexOnlyAggregateValue.MaxEverValue.Deserializer, IndexOnlyAggregateValue.MinEverValue.Deserializer, IndexScanComparisons.Deserializer, InOpValue.Deserializer, InParameterSource.Deserializer, InValuesSource.Deserializer, LikeOperatorValue.Deserializer, LiteralValue.Deserializer, MultidimensionalIndexScanComparisons.Deserializer, NotPredicate.Deserializer, NotValue.Deserializer, NullValue.Deserializer, NumericAggregationValue.Avg.Deserializer, NumericAggregationValue.BitmapConstructAgg.Deserializer, NumericAggregationValue.Max.Deserializer, NumericAggregationValue.Min.Deserializer, NumericAggregationValue.Sum.Deserializer, ObjectValue.Deserializer, OfTypeValue.Deserializer, OrPredicate.Deserializer, PatternForLikeValue.Deserializer, PickValue.Deserializer, PredicateWithValueAndRanges.Deserializer, PromoteValue.ArrayCoercionBiFunction.Deserializer, PromoteValue.Deserializer, PromoteValue.PrimitiveCoercionBiFunction.Deserializer, QuantifiedObjectValue.Deserializer, QuantifiedRecordValue.Deserializer, QueriedValue.Deserializer, RankValue.Deserializer, RecordConstructorValue.Deserializer, RecordQueryAggregateIndexPlan.Deserializer, RecordQueryCoveringIndexPlan.Deserializer, RecordQueryDamPlan.Deserializer, RecordQueryDefaultOnEmptyPlan.Deserializer, RecordQueryDeletePlan.Deserializer, RecordQueryExplodePlan.Deserializer, RecordQueryFetchFromPartialRecordPlan.Deserializer, RecordQueryFirstOrDefaultPlan.Deserializer, RecordQueryFlatMapPlan.Deserializer, RecordQueryInComparandJoinPlan.Deserializer, RecordQueryIndexPlan.Deserializer, RecordQueryInParameterJoinPlan.Deserializer, RecordQueryInsertPlan.Deserializer, RecordQueryIntersectionOnKeyExpressionPlan.Deserializer, RecordQueryIntersectionOnValuesPlan.Deserializer, RecordQueryInUnionOnKeyExpressionPlan.Deserializer, RecordQueryInUnionOnValuesPlan.Deserializer, RecordQueryInValuesJoinPlan.Deserializer, RecordQueryMapPlan.Deserializer, RecordQueryPredicatesFilterPlan.Deserializer, RecordQueryRangePlan.Deserializer, RecordQueryRecursiveUnionPlan.Deserializer, RecordQueryScanPlan.Deserializer, RecordQueryScoreForRankPlan.Deserializer, RecordQuerySetPlan.ComparisonKeyFunction.OnKeyExpression.Deserializer, RecordQuerySetPlan.ComparisonKeyFunction.OnValues.Deserializer, RecordQuerySortPlan.Deserializer, RecordQueryStreamingAggregationPlan.Deserializer, RecordQueryTypeFilterPlan.Deserializer, RecordQueryUnionOnKeyExpressionPlan.Deserializer, RecordQueryUnionOnValuesPlan.Deserializer, RecordQueryUnorderedDistinctPlan.Deserializer, RecordQueryUnorderedPrimaryKeyDistinctPlan.Deserializer, RecordQueryUnorderedUnionPlan.Deserializer, RecordQueryUpdatePlan.Deserializer, RecordTypeKeyComparison.RecordTypeComparison.Deserializer, RecordTypeValue.Deserializer, RelOpValue.BinaryRelOpValue.Deserializer, RelOpValue.UnaryRelOpValue.Deserializer, SortedInComparandSource.Deserializer, SortedInParameterSource.Deserializer, SortedInValuesSource.Deserializer, TempTableInsertPlan.Deserializer, TempTableScanPlan.Deserializer, ThrowsValue.Deserializer, TimeWindowScanComparisons.Deserializer, ToOrderedBytesValue.Deserializer, Type.Any.Deserializer, Type.AnyRecord.Deserializer, Type.Array.Deserializer, Type.Enum.Deserializer, Type.None.Deserializer, Type.Null.Deserializer, Type.Primitive.Deserializer, Type.Record.Deserializer, Type.Relation.Deserializer, ValuePredicate.Deserializer, VariadicFunctionValue.Deserializer, VersionValue.Deserializer

@API(UNSTABLE) public interface PlanDeserializer<M extends Message,T>
Interface that needs to be implemented separately for every class that is PlanSerializable.
  • Method Details

    • getProtoMessageClass

      @Nonnull Class<M> getProtoMessageClass()
      Returns M.class.
      Returns:
      M.class
    • fromProto

      @Nonnull T fromProto(@Nonnull PlanSerializationContext serializationContext, @Nonnull M message)
      Dispatch method to transform from M to T.
      Parameters:
      serializationContext - the serialization context (and by extension the PlanSerializationRegistry) that is being used.
      message - the protobuf message of type M
      Returns:
      an instance of type T