Class DatabaseCatalogImpl
java.lang.Object
com.illumon.iris.db.tables.databases.DatabaseCatalogImpl
- All Implemented Interfaces:
DatabaseCatalog
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.tables.databases.DatabaseCatalog
DatabaseCatalog.CatalogInformation
-
Field Summary
Fields inherited from interface com.illumon.iris.db.tables.databases.DatabaseCatalog
ACL_FILTER_NAMESPACES_PROPERTY, ACL_FILTER_TABLES_PROPERTY
-
Constructor Summary
ConstructorsConstructorDescriptionDatabaseCatalogImpl
(Database database, io.deephaven.enterprise.auth.UserContext userContext, SchemaService schemaService, PermissionFilterProvider permissionFilterProvider, boolean namespaceAclFilterEnabled, boolean tableNamesAclFilterEnabled) -
Method Summary
Modifier and TypeMethodDescriptionallVisibleNamespacesAndTables
(Predicate<String> namespacePredicate) Retrieve all visible tables, and their namespace and namespace set.getNamespaceSet
(String namespace) Retrieve the namespace set for a given namespace.getTableNames
(String namespace) Gets the list of tables inside of namespace that are visible to a user.getVisibleNamespacesSorted
(Predicate<String> predicate) Gets the list of visible namespaces for a user.
-
Constructor Details
-
DatabaseCatalogImpl
public DatabaseCatalogImpl(Database database, io.deephaven.enterprise.auth.UserContext userContext, SchemaService schemaService, @NotNull PermissionFilterProvider permissionFilterProvider, boolean namespaceAclFilterEnabled, boolean tableNamesAclFilterEnabled)
-
-
Method Details
-
getVisibleNamespacesSorted
Description copied from interface:DatabaseCatalog
Gets the list of visible namespaces for a user.- Specified by:
getVisibleNamespacesSorted
in interfaceDatabaseCatalog
- Parameters:
predicate
- a predicate evaluated against each namespace before evaluating the filters.- Returns:
- a list of namespaces that are visible for the user
-
getTableNames
Description copied from interface:DatabaseCatalog
Gets the list of tables inside of namespace that are visible to a user.- Specified by:
getTableNames
in interfaceDatabaseCatalog
- Parameters:
namespace
- the namespace to interrogate- Returns:
- the list of visible tables in namespace
-
allVisibleNamespacesAndTables
public DatabaseCatalog.CatalogInformation allVisibleNamespacesAndTables(Predicate<String> namespacePredicate) Description copied from interface:DatabaseCatalog
Retrieve all visible tables, and their namespace and namespace set. Filtered by namespacePredicate.- Specified by:
allVisibleNamespacesAndTables
in interfaceDatabaseCatalog
- Parameters:
namespacePredicate
- the predicate to apply to the namespaces- Returns:
- a CatalogInformation class containing information for the responsive tables
-
getNamespaceSet
Description copied from interface:DatabaseCatalog
Retrieve the namespace set for a given namespace.- Specified by:
getNamespaceSet
in interfaceDatabaseCatalog
- Parameters:
namespace
- the namespace to interrogate- Returns:
- the NamespaceSet for the given namespace.
-