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 Details

  • Method Details

    • findEncryptTable

      public Optional<EncryptTable> findEncryptTable(String logicTable)
      Find encrypt table.
      Parameters:
      logicTable - logic table
      Returns:
      encrypt table
    • findEncryptColumn

      public Optional<EncryptColumn> findEncryptColumn(String logicTable, String columnName)
      Find encrypt column.
      Parameters:
      logicTable - logic table
      columnName - column name
      Returns:
      encrypt column
    • findEncryptor

      public Optional<StandardEncryptAlgorithm> findEncryptor(String logicTable, String logicColumn)
      Find encryptor.
      Parameters:
      logicTable - logic table name
      logicColumn - logic column name
      Returns:
      encryptor
    • findAssistedQueryEncryptor

      public Optional<StandardEncryptAlgorithm> findAssistedQueryEncryptor(String logicTable, String logicColumn)
      Find assist encryptor.
      Parameters:
      logicTable - logic table name
      logicColumn - logic column name
      Returns:
      encryptor
    • findLikeQueryEncryptor

      public Optional<LikeEncryptAlgorithm> findLikeQueryEncryptor(String logicTable, String logicColumn)
      Find like query encryptor.
      Parameters:
      logicTable - logic table name
      logicColumn - 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 name
      schemaName - schema name
      logicTable - logic table
      logicColumn - logic column
      originalValues - original values
      Returns:
      encrypt values
    • getCipherColumn

      public String getCipherColumn(String logicTable, String logicColumn)
      Get cipher column.
      Parameters:
      logicTable - logic table name
      logicColumn - logic column name
      Returns:
      cipher column
    • getLogicAndCipherColumns

      public Map<String,String> getLogicAndCipherColumns(String logicTable)
      Get logic and cipher columns.
      Parameters:
      logicTable - logic table
      Returns:
      logic and cipher columns
    • findAssistedQueryColumn

      public Optional<String> findAssistedQueryColumn(String logicTable, String logicColumn)
      Find assisted query column.
      Parameters:
      logicTable - logic table name
      logicColumn - column name
      Returns:
      assisted query column
    • findLikeQueryColumn

      public Optional<String> findLikeQueryColumn(String logicTable, String logicColumn)
      Find like query column.
      Parameters:
      logicTable - logic table name
      logicColumn - column name
      Returns:
      like query column
    • getAssistedQueryColumns

      public Collection<String> getAssistedQueryColumns(String logicTable)
      Get assisted query columns.
      Parameters:
      logicTable - logic table
      Returns:
      assisted query columns
    • getLikeQueryColumns

      public Collection<String> getLikeQueryColumns(String logicTable)
      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 name
      schemaName - schema name
      logicTable - logic table
      logicColumn - logic column
      originalValues - 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 name
      schemaName - schema name
      logicTable - logic table
      logicColumn - logic column
      originalValues - original values
      Returns:
      like query values
    • findPlainColumn

      public Optional<String> findPlainColumn(String logicTable, String logicColumn)
      Find plain column.
      Parameters:
      logicTable - logic table name
      logicColumn - logic column name
      Returns:
      plain column
    • isQueryWithCipherColumn

      public boolean isQueryWithCipherColumn(String logicTable, String logicColumn)
      Judge whether column is support QueryWithCipherColumn or not.
      Parameters:
      logicTable - logic table name
      logicColumn - logic column name
      Returns:
      whether column is support QueryWithCipherColumn or not
    • getTables

      public Collection<String> getTables()
      Specified by:
      getTables in interface org.apache.shardingsphere.infra.rule.identifier.type.TableContainedRule
    • getType

      public String getType()
      Specified by:
      getType in interface org.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 name
      schemas - schema map