Interface VersionedNamedWriteable

All Superinterfaces:
NamedWriteable, Writeable
All Known Subinterfaces:
ClusterState.Custom, Metadata.Custom, MultiTermQueryBuilder, NamedDiffable<T>, PersistentTaskParams, QueryBuilder, SpanQueryBuilder
All Known Implementing Classes:
AbstractAggregationBuilder, AbstractGeometryQueryBuilder, AbstractPercentilesAggregationBuilder, AbstractPipelineAggregationBuilder, AbstractQueryBuilder, AbstractRangeBuilder, AdjacencyMatrixAggregationBuilder, AggregationBuilder, AutoDateHistogramAggregationBuilder, AvgAggregationBuilder, AvgBucketPipelineAggregationBuilder, BaseTermQueryBuilder, BoolQueryBuilder, BoostingQueryBuilder, BucketMetricsPipelineAggregationBuilder, BucketScriptPipelineAggregationBuilder, BucketSelectorPipelineAggregationBuilder, BucketSortPipelineAggregationBuilder, CardinalityAggregationBuilder, CombinedFieldsQueryBuilder, CommonTermsQueryBuilder, CompletionSuggestionBuilder, ComponentTemplateMetadata, ComposableIndexTemplateMetadata, CompositeAggregationBuilder, ConstantScoreQueryBuilder, CumulativeSumPipelineAggregationBuilder, DataStreamMetadata, DateHistogramAggregationBuilder, DateRangeAggregationBuilder, DecayFunctionBuilder, DerivativePipelineAggregationBuilder, DesiredNodesMetadata, DisMaxQueryBuilder, DistanceFeatureQueryBuilder, DiversifiedAggregationBuilder, ElasticsearchNodeCommand.UnknownMetadataCustom, ExistsQueryBuilder, ExponentialDecayFunctionBuilder, ExtendedStatsAggregationBuilder, ExtendedStatsBucketPipelineAggregationBuilder, FeatureMigrationResults, FieldMaskingSpanQueryBuilder, FieldSortBuilder, FieldValueFactorFunctionBuilder, FilterAggregationBuilder, FiltersAggregationBuilder, FunctionScoreQueryBuilder, FuzzyQueryBuilder, GaussDecayFunctionBuilder, GeoBoundingBoxQueryBuilder, GeoBoundsAggregationBuilder, GeoCentroidAggregationBuilder, GeoDistanceAggregationBuilder, GeoDistanceQueryBuilder, GeoDistanceSortBuilder, GeoGridAggregationBuilder, GeoHashGridAggregationBuilder, GeoPolygonQueryBuilder, GeoShapeQueryBuilder, GeoTileGridAggregationBuilder, GlobalAggregationBuilder, HistogramAggregationBuilder, IdsQueryBuilder, IndexGraveyard, IngestMetadata, IntervalQueryBuilder, IpPrefixAggregationBuilder, IpRangeAggregationBuilder, Laplace, LinearDecayFunctionBuilder, LinearInterpolation, MatchAllQueryBuilder, MatchBoolPrefixQueryBuilder, MatchNoneQueryBuilder, MatchPhrasePrefixQueryBuilder, MatchPhraseQueryBuilder, MatchQueryBuilder, MaxAggregationBuilder, MaxBucketPipelineAggregationBuilder, MedianAbsoluteDeviationAggregationBuilder, MinAggregationBuilder, MinBucketPipelineAggregationBuilder, MissingAggregationBuilder, MoreLikeThisQueryBuilder, MovAvgPipelineAggregationBuilder, MovFnPipelineAggregationBuilder, MultiMatchQueryBuilder, MultiValuesSourceAggregationBuilder, MultiValuesSourceAggregationBuilder.LeafOnly, NestedAggregationBuilder, NestedQueryBuilder, NodesShutdownMetadata, PercentileRanksAggregationBuilder, PercentilesAggregationBuilder, PercentilesBucketPipelineAggregationBuilder, PersistentTasksCustomMetadata, PhraseSuggestionBuilder, PipelineAggregationBuilder, PrefixQueryBuilder, QueryRescorerBuilder, QueryStringQueryBuilder, RandomSamplerAggregationBuilder, RandomScoreFunctionBuilder, RangeAggregationBuilder, RangeQueryBuilder, RareTermsAggregationBuilder, RegexpQueryBuilder, RepositoriesMetadata, RepositoryCleanupInProgress, RescorerBuilder, RestoreInProgress, ReverseNestedAggregationBuilder, SamplerAggregationBuilder, ScoreFunctionBuilder, ScoreSortBuilder, ScriptedMetricAggregationBuilder, ScriptMetadata, ScriptQueryBuilder, ScriptScoreFunctionBuilder, ScriptScoreQueryBuilder, ScriptSortBuilder, SearchExtBuilder, SerialDiffPipelineAggregationBuilder, SignificantTermsAggregationBuilder, SignificantTextAggregationBuilder, SimpleQueryStringBuilder, SmoothingModel, SnapshotDeletionsInProgress, SnapshotsInProgress, SortBuilder, SpanContainingQueryBuilder, SpanFirstQueryBuilder, SpanMultiTermQueryBuilder, SpanNearQueryBuilder, SpanNearQueryBuilder.SpanGapQueryBuilder, SpanNotQueryBuilder, SpanOrQueryBuilder, SpanTermQueryBuilder, SpanWithinQueryBuilder, StatsAggregationBuilder, StatsBucketPipelineAggregationBuilder, StupidBackoff, SuggestionBuilder, SumAggregationBuilder, SumBucketPipelineAggregationBuilder, SystemIndexMigrationTaskParams, TermQueryBuilder, TermsAggregationBuilder, TermsQueryBuilder, TermsSetQueryBuilder, TermSuggestionBuilder, TimeSeriesAggregationBuilder, TopHitsAggregationBuilder, TypeQueryV7Builder, ValueCountAggregationBuilder, ValuesSourceAggregationBuilder, ValuesSourceAggregationBuilder.LeafOnly, ValuesSourceAggregationBuilder.MetricsAggregationBuilder, ValuesSourceAggregationBuilder.SingleMetricAggregationBuilder, VariableWidthHistogramAggregationBuilder, WeightBuilder, WeightedAvgAggregationBuilder, WildcardQueryBuilder, WrapperQueryBuilder

public interface VersionedNamedWriteable extends NamedWriteable
A NamedWriteable that has a minimum version associated with it.
  • Method Details

    • getWriteableName

      String getWriteableName()
      Returns the name of the writeable object
      Specified by:
      getWriteableName in interface NamedWriteable
    • getMinimalSupportedVersion

      Version getMinimalSupportedVersion()
      The minimal version of the recipient this object can be sent to
    • shouldSerialize

      static <T extends VersionedNamedWriteable> boolean shouldSerialize(StreamOutput out, T custom)
      Tests whether or not the custom should be serialized. The criteria is the output stream must be at least the minimum supported version of the custom. That is, we only serialize customs to clients than can understand the custom based on the version of the client.
      Type Parameters:
      T - the type of the custom
      Parameters:
      out - the output stream
      custom - the custom to serialize
      Returns:
      true if the custom should be serialized and false otherwise
    • writeVersionedWritables

      static <T extends VersionedNamedWriteable> void writeVersionedWritables(StreamOutput out, ImmutableOpenMap<String,T> customs) throws IOException
      Writes all those values in the given map to out that pass the version check in shouldSerialize(org.elasticsearch.common.io.stream.StreamOutput, T) as a list.
      Type Parameters:
      T - type of customs in map
      Parameters:
      out - stream to write to
      customs - map of customs
      Throws:
      IOException