@InterfaceAudience.Public public final class Constraints extends Object
TableDescriptor is immutable now, you should use TableDescriptorBuilder.
And when disabling or removing constraints, you could use
TableDescriptorBuilder.newBuilder(TableDescriptor) to clone the old
TableDescriptor and then pass it the below methods.| Modifier and Type | Method and Description |
|---|---|
static TableDescriptorBuilder |
add(TableDescriptorBuilder builder,
Class<? extends Constraint>... constraints)
Add configuration-less constraints to the table.
|
static TableDescriptorBuilder |
add(TableDescriptorBuilder builder,
Class<? extends Constraint> constraint,
org.apache.hadoop.conf.Configuration conf)
Add a
Constraint to the table with the given configuration
Each constraint, when added to the table, will have a specific priority, dictating the order in
which the Constraint will be run. |
static TableDescriptorBuilder |
add(TableDescriptorBuilder builder,
Pair<Class<? extends Constraint>,org.apache.hadoop.conf.Configuration>... constraints)
Add constraints and their associated configurations to the table.
|
static TableDescriptorBuilder |
disable(TableDescriptorBuilder builder)
Turn off processing constraints for a given table, even if constraints have been turned on or
added.
|
static void |
disableConstraint(TableDescriptorBuilder builder,
Class<? extends Constraint> clazz)
Disable the given
Constraint. |
static TableDescriptorBuilder |
enable(TableDescriptorBuilder builder)
Enable constraints on a table.
|
static void |
enableConstraint(TableDescriptorBuilder builder,
Class<? extends Constraint> clazz)
Enable the given
Constraint. |
static boolean |
enabled(TableDescriptor desc,
Class<? extends Constraint> clazz)
Check to see if the given constraint is enabled.
|
static boolean |
has(TableDescriptor desc,
Class<? extends Constraint> clazz)
Check to see if the Constraint is currently set.
|
static TableDescriptorBuilder |
remove(TableDescriptorBuilder builder)
Remove all
Constraints that have been added to the table and turn off the
constraint processing. |
static TableDescriptorBuilder |
remove(TableDescriptorBuilder builder,
Class<? extends Constraint> clazz)
Remove the constraint (and associated information) for the table descriptor.
|
static TableDescriptorBuilder |
setConfiguration(TableDescriptorBuilder builder,
Class<? extends Constraint> clazz,
org.apache.hadoop.conf.Configuration configuration)
Update the configuration for the
Constraint; does not change the order in which the
constraint is run. |
public static TableDescriptorBuilder enable(TableDescriptorBuilder builder) throws IOException
IOExceptionpublic static TableDescriptorBuilder disable(TableDescriptorBuilder builder) throws IOException
IOExceptionpublic static TableDescriptorBuilder remove(TableDescriptorBuilder builder) throws IOException
Constraints that have been added to the table and turn off the
constraint processing.
All Configurations and their associated Constraint are removed.IOExceptionpublic static boolean has(TableDescriptor desc, Class<? extends Constraint> clazz)
desc - TableDescriptor to checkclazz - Constraint class to check for.Constraint is present, even if it is disabled.
false otherwise.@SafeVarargs public static TableDescriptorBuilder add(TableDescriptorBuilder builder, Class<? extends Constraint>... constraints) throws IOException
Constraint will be run. A Constraint earlier in the list will be run
before those later in the list. The same logic applies between two Constraints over time
(earlier added is run first on the regionserver).builder - TableDescriptorBuilder to add a Constraintconstraints - Constraints to add. All constraints are considered
automatically enabled on addIOException - If constraint could not be serialized/added to table@SafeVarargs public static TableDescriptorBuilder add(TableDescriptorBuilder builder, Pair<Class<? extends Constraint>,org.apache.hadoop.conf.Configuration>... constraints) throws IOException
Adding the same constraint class twice will overwrite the first constraint's configuration
Each constraint, when added to the table, will have a specific priority, dictating the order in
which the Constraint will be run. A Constraint earlier in the list will be run
before those later in the list. The same logic applies between two Constraints over time
(earlier added is run first on the regionserver).
builder - TableDescriptorBuilder to add a Constraintconstraints - Pair of a Constraint and its associated
Configuration. The Constraint will be configured on load with the
specified configuration.All constraints are considered automatically enabled
on addIOException - if any constraint could not be deserialized. Assumes if 1 constraint is not
loaded properly, something has gone terribly wrong and that all constraints
need to be enforced.public static TableDescriptorBuilder add(TableDescriptorBuilder builder, Class<? extends Constraint> constraint, org.apache.hadoop.conf.Configuration conf) throws IOException
Constraint to the table with the given configuration
Each constraint, when added to the table, will have a specific priority, dictating the order in
which the Constraint will be run. A Constraint added will run on the
regionserver before those added to the TableDescriptorBuilder later.builder - TableDescriptorBuilder to add a Constraintconstraint - to be addedconf - configuration associated with the constraintIOException - if any constraint could not be deserialized. Assumes if 1 constraint is not
loaded properly, something has gone terribly wrong and that all constraints
need to be enforced.public static TableDescriptorBuilder setConfiguration(TableDescriptorBuilder builder, Class<? extends Constraint> clazz, org.apache.hadoop.conf.Configuration configuration) throws IOException, IllegalArgumentException
Constraint; does not change the order in which the
constraint is run.builder - TableDescriptorBuilder to updateclazz - Constraint to updateconfiguration - to update the Constraint with.IOException - if the Constraint was not stored correctlyIllegalArgumentException - if the Constraint was not present on this table.public static TableDescriptorBuilder remove(TableDescriptorBuilder builder, Class<? extends Constraint> clazz)
builder - TableDescriptorBuilder to modifyclazz - Constraint class to removepublic static void enableConstraint(TableDescriptorBuilder builder, Class<? extends Constraint> clazz) throws IOException
Constraint. Retains all the information (e.g. Configuration) for the
Constraint, but makes sure that it gets loaded on the table.builder - TableDescriptorBuilder to modifyclazz - Constraint to enableIOException - If the constraint cannot be properly deserializedpublic static void disableConstraint(TableDescriptorBuilder builder, Class<? extends Constraint> clazz) throws IOException
Constraint. Retains all the information (e.g. Configuration) for the
Constraint, but it just doesn't load the Constraint on the table.builder - TableDescriptorBuilder to modifyclazz - Constraint to disable.IOException - if the constraint cannot be foundpublic static boolean enabled(TableDescriptor desc, Class<? extends Constraint> clazz) throws IOException
desc - TableDescriptor to check.clazz - Constraint to check forConstraint is present and enabled. false
otherwise.IOException - If the constraint has improperly stored in the tableCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.