Class EncryptRule
java.lang.Object
org.apache.shardingsphere.encrypt.rule.EncryptRule
- All Implemented Interfaces:
org.apache.shardingsphere.infra.rule.identifier.scope.DatabaseRule,org.apache.shardingsphere.infra.rule.identifier.type.TableContainedRule,org.apache.shardingsphere.infra.rule.ShardingSphereRule
public final class EncryptRule
extends Object
implements org.apache.shardingsphere.infra.rule.identifier.scope.DatabaseRule, org.apache.shardingsphere.infra.rule.identifier.type.TableContainedRule
Encrypt rule.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfindAssistedQueryColumn(String logicTable, String logicColumn) Find assisted query column.findAssistedQueryEncryptor(String logicTable, String logicColumn) Find assist encryptor.findEncryptColumn(String logicTable, String columnName) Find encrypt column.findEncryptor(String logicTable, String logicColumn) Find encryptor.findEncryptTable(String logicTable) Find encrypt table.findLikeQueryColumn(String logicTable, String logicColumn) Find like query column.findLikeQueryEncryptor(String logicTable, String logicColumn) Find like query encryptor.findPlainColumn(String logicTable, String logicColumn) Find plain column.getAssistedQueryColumns(String logicTable) Get assisted query columns.getCipherColumn(String logicTable, String logicColumn) Get cipher column.getEncryptAssistedQueryValues(String databaseName, String schemaName, String logicTable, String logicColumn, List<Object> originalValues) Get encrypt assisted query values.getEncryptLikeQueryValues(String databaseName, String schemaName, String logicTable, String logicColumn, List<Object> originalValues) Get encrypt like query values.getEncryptValues(String databaseName, String schemaName, String logicTable, String logicColumn, List<Object> originalValues) get encrypt values.getLikeQueryColumns(String logicTable) Get like query columns.getLogicAndCipherColumns(String logicTable) Get logic and cipher columns.getType()booleanisQueryWithCipherColumn(String logicTable, String logicColumn) Judge whether column is support QueryWithCipherColumn or not.voidsetSchemaMetaData(String databaseName, Map<String, org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema> schemas) Set schema meta data.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.shardingsphere.infra.rule.ShardingSphereRule
getConfiguration
-
Constructor Details
-
EncryptRule
-
-
Method Details
-
findEncryptTable
Find encrypt table.- Parameters:
logicTable- logic table- Returns:
- encrypt table
-
findEncryptColumn
Find encrypt column.- Parameters:
logicTable- logic tablecolumnName- column name- Returns:
- encrypt column
-
findEncryptor
Find encryptor.- Parameters:
logicTable- logic table namelogicColumn- logic column name- Returns:
- encryptor
-
findAssistedQueryEncryptor
public Optional<StandardEncryptAlgorithm> findAssistedQueryEncryptor(String logicTable, String logicColumn) Find assist encryptor.- Parameters:
logicTable- logic table namelogicColumn- logic column name- Returns:
- encryptor
-
findLikeQueryEncryptor
Find like query encryptor.- Parameters:
logicTable- logic table namelogicColumn- logic column name- Returns:
- like query encryptor
-
getEncryptValues
public List<Object> getEncryptValues(String databaseName, String schemaName, String logicTable, String logicColumn, List<Object> originalValues) get encrypt values.- Parameters:
databaseName- database nameschemaName- schema namelogicTable- logic tablelogicColumn- logic columnoriginalValues- original values- Returns:
- encrypt values
-
getCipherColumn
Get cipher column.- Parameters:
logicTable- logic table namelogicColumn- logic column name- Returns:
- cipher column
-
getLogicAndCipherColumns
Get logic and cipher columns.- Parameters:
logicTable- logic table- Returns:
- logic and cipher columns
-
findAssistedQueryColumn
Find assisted query column.- Parameters:
logicTable- logic table namelogicColumn- column name- Returns:
- assisted query column
-
findLikeQueryColumn
Find like query column.- Parameters:
logicTable- logic table namelogicColumn- column name- Returns:
- like query column
-
getAssistedQueryColumns
Get assisted query columns.- Parameters:
logicTable- logic table- Returns:
- assisted query columns
-
getLikeQueryColumns
Get like query columns.- Parameters:
logicTable- logic table- Returns:
- like query columns
-
getEncryptAssistedQueryValues
public List<Object> getEncryptAssistedQueryValues(String databaseName, String schemaName, String logicTable, String logicColumn, List<Object> originalValues) Get encrypt assisted query values.- Parameters:
databaseName- database nameschemaName- schema namelogicTable- logic tablelogicColumn- logic columnoriginalValues- original values- Returns:
- assisted query values
-
getEncryptLikeQueryValues
public List<Object> getEncryptLikeQueryValues(String databaseName, String schemaName, String logicTable, String logicColumn, List<Object> originalValues) Get encrypt like query values.- Parameters:
databaseName- database nameschemaName- schema namelogicTable- logic tablelogicColumn- logic columnoriginalValues- original values- Returns:
- like query values
-
findPlainColumn
Find plain column.- Parameters:
logicTable- logic table namelogicColumn- logic column name- Returns:
- plain column
-
isQueryWithCipherColumn
Judge whether column is support QueryWithCipherColumn or not.- Parameters:
logicTable- logic table namelogicColumn- logic column name- Returns:
- whether column is support QueryWithCipherColumn or not
-
getTables
- Specified by:
getTablesin interfaceorg.apache.shardingsphere.infra.rule.identifier.type.TableContainedRule
-
getType
- Specified by:
getTypein interfaceorg.apache.shardingsphere.infra.rule.ShardingSphereRule
-
setSchemaMetaData
public void setSchemaMetaData(String databaseName, Map<String, org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereSchema> schemas) Set schema meta data.- Parameters:
databaseName- database nameschemas- schema map
-