Enum SchemaAutoUpdateCompatibilityStrategy
- java.lang.Object
-
- java.lang.Enum<SchemaAutoUpdateCompatibilityStrategy>
-
- org.apache.pulsar.common.policies.data.SchemaAutoUpdateCompatibilityStrategy
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<SchemaAutoUpdateCompatibilityStrategy>
public enum SchemaAutoUpdateCompatibilityStrategy extends java.lang.Enum<SchemaAutoUpdateCompatibilityStrategy>
Strategy to use when checking an auto-updated schema for compatibility to the current schema.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description AlwaysCompatibleAlways Compatible - The new schema will not be checked for compatibility against old schemas.AutoUpdateDisabledDon't allow any auto updates.BackwardMessages written in the previous schema can be read by the new schema.BackwardTransitiveBe similar to Backward.ForwardMessages written in the new schema can be read by the previous schema.ForwardTransitiveBe similar to Forward, ForwardTransitive ensure new schema can be ready by all previous version schema.FullBackward and Forward.FullTransitiveBackwardTransitive and ForwardTransitive.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static SchemaAutoUpdateCompatibilityStrategyvalueOf(java.lang.String name)Returns the enum constant of this type with the specified name.static SchemaAutoUpdateCompatibilityStrategy[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
AutoUpdateDisabled
public static final SchemaAutoUpdateCompatibilityStrategy AutoUpdateDisabled
Don't allow any auto updates.
-
Backward
public static final SchemaAutoUpdateCompatibilityStrategy Backward
Messages written in the previous schema can be read by the new schema. To be backward compatible, the new schema must not add any new fields that don't have default values. However, it may remove fields.
-
Forward
public static final SchemaAutoUpdateCompatibilityStrategy Forward
Messages written in the new schema can be read by the previous schema. To be forward compatible, the new schema must not remove any fields which don't have default values in the previous schema. However, it may add new fields.
-
Full
public static final SchemaAutoUpdateCompatibilityStrategy Full
Backward and Forward.
-
AlwaysCompatible
public static final SchemaAutoUpdateCompatibilityStrategy AlwaysCompatible
Always Compatible - The new schema will not be checked for compatibility against old schemas. In other words, new schemas will always be marked assumed compatible.
-
BackwardTransitive
public static final SchemaAutoUpdateCompatibilityStrategy BackwardTransitive
Be similar to Backward. BackwardTransitive ensure all previous version schema can be read by the new schema.
-
ForwardTransitive
public static final SchemaAutoUpdateCompatibilityStrategy ForwardTransitive
Be similar to Forward, ForwardTransitive ensure new schema can be ready by all previous version schema.
-
FullTransitive
public static final SchemaAutoUpdateCompatibilityStrategy FullTransitive
BackwardTransitive and ForwardTransitive.
-
-
Method Detail
-
values
public static SchemaAutoUpdateCompatibilityStrategy[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (SchemaAutoUpdateCompatibilityStrategy c : SchemaAutoUpdateCompatibilityStrategy.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static SchemaAutoUpdateCompatibilityStrategy valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException- if this enum type has no constant with the specified namejava.lang.NullPointerException- if the argument is null
-
-