org.apache.accumulo.core.client.admin
Interface NamespaceOperations

All Known Implementing Classes:
NamespaceOperationsHelper, NamespaceOperationsImpl

public interface NamespaceOperations

Provides an API for administering namespaces All tables exist in a namespace. The default namespace has no name, and is used if an explicit namespace is not specified. Fully qualified table names look like "namespaceName.tableName". Tables in the default namespace are fully qualified simply as "tableName".

Since:
1.6.0

Method Summary
 int addConstraint(String namespace, String constraintClassName)
          Add a new constraint to a namespace.
 void attachIterator(String namespace, IteratorSetting setting)
          Add an iterator to a namespace on all scopes.
 void attachIterator(String namespace, IteratorSetting setting, EnumSet<IteratorUtil.IteratorScope> scopes)
          Add an iterator to a namespace on the given scopes.
 void checkIteratorConflicts(String namespace, IteratorSetting setting, EnumSet<IteratorUtil.IteratorScope> scopes)
          Check whether a given iterator configuration conflicts with existing configuration; in particular, determine if the name or priority are already in use for the specified scopes.
 void create(String namespace)
          Create an empty namespace with no initial configuration.
 String defaultNamespace()
          Returns the name of the default namespace
 void delete(String namespace)
          Delete an empty namespace
 boolean exists(String namespace)
          A method to check if a namespace exists in Accumulo.
 IteratorSetting getIteratorSetting(String namespace, String name, IteratorUtil.IteratorScope scope)
          Get the settings for an iterator.
 Iterable<Map.Entry<String,String>> getProperties(String namespace)
          Gets properties of a namespace, which are inherited by tables in this namespace.
 SortedSet<String> list()
          Retrieve a list of namespaces in Accumulo.
 Map<String,Integer> listConstraints(String namespace)
          List constraints on a namespace with their assigned numbers.
 Map<String,EnumSet<IteratorUtil.IteratorScope>> listIterators(String namespace)
          Get a list of iterators for this namespace.
 Map<String,String> namespaceIdMap()
          Get a mapping of namespace name to internal namespace id.
 void removeConstraint(String namespace, int id)
          Remove a constraint from a namespace.
 void removeIterator(String namespace, String name, EnumSet<IteratorUtil.IteratorScope> scopes)
          Remove an iterator from a namespace by name.
 void removeProperty(String namespace, String property)
          Removes a property from a namespace.
 void rename(String oldNamespaceName, String newNamespaceName)
          Rename a namespace
 void setProperty(String namespace, String property, String value)
          Sets a property on a namespace which applies to all tables in the namespace.
 String systemNamespace()
          Returns the name of the system reserved namespace
 boolean testClassLoad(String namespace, String className, String asTypeName)
          Test to see if the instance can load the given class as the given type.
 

Method Detail

systemNamespace

String systemNamespace()
Returns the name of the system reserved namespace

Returns:
the name of the system namespace
Since:
1.6.0

defaultNamespace

String defaultNamespace()
Returns the name of the default namespace

Returns:
the name of the default namespace
Since:
1.6.0

list

SortedSet<String> list()
                       throws AccumuloException,
                              AccumuloSecurityException
Retrieve a list of namespaces in Accumulo.

Returns:
List of namespaces in accumulo
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
Since:
1.6.0

exists

boolean exists(String namespace)
               throws AccumuloException,
                      AccumuloSecurityException
A method to check if a namespace exists in Accumulo.

Parameters:
namespace - the name of the namespace
Returns:
true if the namespace exists
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
Since:
1.6.0

create

void create(String namespace)
            throws AccumuloException,
                   AccumuloSecurityException,
                   NamespaceExistsException
Create an empty namespace with no initial configuration. Valid names for a namespace contain letters, numbers, and the underscore character.

Parameters:
namespace - the name of the namespace
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceExistsException - if the specified namespace already exists
Since:
1.6.0

delete

void delete(String namespace)
            throws AccumuloException,
                   AccumuloSecurityException,
                   NamespaceNotFoundException,
                   NamespaceNotEmptyException
Delete an empty namespace

Parameters:
namespace - the name of the namespace
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
NamespaceNotEmptyException - if the namespaces still contains tables
Since:
1.6.0

rename

void rename(String oldNamespaceName,
            String newNamespaceName)
            throws AccumuloException,
                   AccumuloSecurityException,
                   NamespaceNotFoundException,
                   NamespaceExistsException
Rename a namespace

Parameters:
oldNamespaceName - the old namespace name
newNamespaceName - the new namespace name
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the old namespace does not exist
NamespaceExistsException - if the new namespace already exists
Since:
1.6.0

setProperty

void setProperty(String namespace,
                 String property,
                 String value)
                 throws AccumuloException,
                        AccumuloSecurityException,
                        NamespaceNotFoundException
Sets a property on a namespace which applies to all tables in the namespace. Note that it may take a few seconds to propagate the change everywhere.

Parameters:
namespace - the name of the namespace
property - the name of a per-table property
value - the value to set a per-table property to
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

removeProperty

void removeProperty(String namespace,
                    String property)
                    throws AccumuloException,
                           AccumuloSecurityException,
                           NamespaceNotFoundException
Removes a property from a namespace. Note that it may take a few seconds to propagate the change everywhere.

Parameters:
namespace - the name of the namespace
property - the name of a per-table property
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

getProperties

Iterable<Map.Entry<String,String>> getProperties(String namespace)
                                                 throws AccumuloException,
                                                        AccumuloSecurityException,
                                                        NamespaceNotFoundException
Gets properties of a namespace, which are inherited by tables in this namespace. Note that recently changed properties may not be available immediately.

Parameters:
namespace - the name of the namespace
Returns:
all properties visible by this namespace (system and per-table properties). Note that recently changed properties may not be visible immediately.
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

namespaceIdMap

Map<String,String> namespaceIdMap()
                                  throws AccumuloException,
                                         AccumuloSecurityException
Get a mapping of namespace name to internal namespace id.

Returns:
the map from namespace name to internal namespace id
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
Since:
1.6.0

attachIterator

void attachIterator(String namespace,
                    IteratorSetting setting)
                    throws AccumuloException,
                           AccumuloSecurityException,
                           NamespaceNotFoundException
Add an iterator to a namespace on all scopes.

Parameters:
namespace - the name of the namespace
setting - object specifying the properties of the iterator
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

attachIterator

void attachIterator(String namespace,
                    IteratorSetting setting,
                    EnumSet<IteratorUtil.IteratorScope> scopes)
                    throws AccumuloException,
                           AccumuloSecurityException,
                           NamespaceNotFoundException
Add an iterator to a namespace on the given scopes.

Parameters:
namespace - the name of the namespace
setting - object specifying the properties of the iterator
scopes - the set of scopes the iterator should apply to
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

removeIterator

void removeIterator(String namespace,
                    String name,
                    EnumSet<IteratorUtil.IteratorScope> scopes)
                    throws AccumuloException,
                           AccumuloSecurityException,
                           NamespaceNotFoundException
Remove an iterator from a namespace by name.

Parameters:
namespace - the name of the namespace
name - the name of the iterator
scopes - the scopes of the iterator
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

getIteratorSetting

IteratorSetting getIteratorSetting(String namespace,
                                   String name,
                                   IteratorUtil.IteratorScope scope)
                                   throws AccumuloException,
                                          AccumuloSecurityException,
                                          NamespaceNotFoundException
Get the settings for an iterator.

Parameters:
namespace - the name of the namespace
name - the name of the iterator
scope - the scope of the iterator
Returns:
the settings for this iterator
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

listIterators

Map<String,EnumSet<IteratorUtil.IteratorScope>> listIterators(String namespace)
                                                              throws AccumuloException,
                                                                     AccumuloSecurityException,
                                                                     NamespaceNotFoundException
Get a list of iterators for this namespace.

Parameters:
namespace - the name of the namespace
Returns:
a set of iterator names
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

checkIteratorConflicts

void checkIteratorConflicts(String namespace,
                            IteratorSetting setting,
                            EnumSet<IteratorUtil.IteratorScope> scopes)
                            throws AccumuloException,
                                   AccumuloSecurityException,
                                   NamespaceNotFoundException
Check whether a given iterator configuration conflicts with existing configuration; in particular, determine if the name or priority are already in use for the specified scopes. If so, an IllegalArgumentException is thrown, wrapped in an AccumuloException.

Parameters:
namespace - the name of the namespace
setting - object specifying the properties of the iterator
scopes - the scopes of the iterator
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

addConstraint

int addConstraint(String namespace,
                  String constraintClassName)
                  throws AccumuloException,
                         AccumuloSecurityException,
                         NamespaceNotFoundException
Add a new constraint to a namespace.

Parameters:
namespace - the name of the namespace
constraintClassName - the full name of the constraint class
Returns:
the unique id number assigned to the constraint
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

removeConstraint

void removeConstraint(String namespace,
                      int id)
                      throws AccumuloException,
                             AccumuloSecurityException,
                             NamespaceNotFoundException
Remove a constraint from a namespace.

Parameters:
namespace - the name of the namespace
id - the unique id number assigned to the constraint
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

listConstraints

Map<String,Integer> listConstraints(String namespace)
                                    throws AccumuloException,
                                           AccumuloSecurityException,
                                           NamespaceNotFoundException
List constraints on a namespace with their assigned numbers.

Parameters:
namespace - the name of the namespace
Returns:
a map from constraint class name to assigned number
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0

testClassLoad

boolean testClassLoad(String namespace,
                      String className,
                      String asTypeName)
                      throws AccumuloException,
                             AccumuloSecurityException,
                             NamespaceNotFoundException
Test to see if the instance can load the given class as the given type. This check uses the table classpath property if it is set.

Parameters:
namespace - the name of the namespace
className - the class to try to load
asTypeName - the interface or superclass the given class is attempted to load as
Returns:
true if the instance can load the given class as the given type, false otherwise
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission
NamespaceNotFoundException - if the specified namespace doesn't exist
Since:
1.6.0


Copyright © 2015 Apache Accumulo Project. All rights reserved.