com.alibaba.druid.wall
Class WallFilter

java.lang.Object
  extended by javax.management.NotificationBroadcasterSupport
      extended by com.alibaba.druid.filter.FilterAdapter
          extended by com.alibaba.druid.wall.WallFilter
All Implemented Interfaces:
Filter, WallFilterMBean, NotificationBroadcaster, NotificationEmitter

public class WallFilter
extends FilterAdapter
implements WallFilterMBean


Constructor Summary
WallFilter()
           
 
Method Summary
 void check(String sql)
           
 void checkInit()
           
 void clearProviderCache()
           
 CallableStatementProxy connection_prepareCall(FilterChain chain, ConnectionProxy connection, String sql)
           
 CallableStatementProxy connection_prepareCall(FilterChain chain, ConnectionProxy connection, String sql, int resultSetType, int resultSetConcurrency)
           
 CallableStatementProxy connection_prepareCall(FilterChain chain, ConnectionProxy connection, String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
           
 PreparedStatementProxy connection_prepareStatement(FilterChain chain, ConnectionProxy connection, String sql)
           
 PreparedStatementProxy connection_prepareStatement(FilterChain chain, ConnectionProxy connection, String sql, int autoGeneratedKeys)
           
 PreparedStatementProxy connection_prepareStatement(FilterChain chain, ConnectionProxy connection, String sql, int[] columnIndexes)
           
 PreparedStatementProxy connection_prepareStatement(FilterChain chain, ConnectionProxy connection, String sql, int resultSetType, int resultSetConcurrency)
           
 PreparedStatementProxy connection_prepareStatement(FilterChain chain, ConnectionProxy connection, String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
           
 PreparedStatementProxy connection_prepareStatement(FilterChain chain, ConnectionProxy connection, String sql, String[] columnNames)
           
 WallConfig getConfig()
           
 String getDbType()
           
 WallProvider getProvider()
           
 Set<String> getProviderWhiteList()
           
 void init(DataSourceProxy dataSource)
           
 boolean isInited()
           
 boolean isLogViolation()
           
 boolean isThrowException()
           
 void setConfig(WallConfig config)
           
 void setDbType(String dbType)
           
 void setLogViolation(boolean logViolation)
           
 void setThrowException(boolean throwException)
           
 void statement_addBatch(FilterChain chain, StatementProxy statement, String sql)
           
 boolean statement_execute(FilterChain chain, StatementProxy statement, String sql)
           
 boolean statement_execute(FilterChain chain, StatementProxy statement, String sql, int autoGeneratedKeys)
           
 boolean statement_execute(FilterChain chain, StatementProxy statement, String sql, int[] columnIndexes)
           
 boolean statement_execute(FilterChain chain, StatementProxy statement, String sql, String[] columnNames)
           
 ResultSetProxy statement_executeQuery(FilterChain chain, StatementProxy statement, String sql)
           
 int statement_executeUpdate(FilterChain chain, StatementProxy statement, String sql)
           
 int statement_executeUpdate(FilterChain chain, StatementProxy statement, String sql, int autoGeneratedKeys)
           
 int statement_executeUpdate(FilterChain chain, StatementProxy statement, String sql, int[] columnIndexes)
           
 int statement_executeUpdate(FilterChain chain, StatementProxy statement, String sql, String[] columnNames)
           
 
Methods inherited from class com.alibaba.druid.filter.FilterAdapter
callableStatement_getArray, callableStatement_getArray, callableStatement_getBigDecimal, callableStatement_getBigDecimal, callableStatement_getBigDecimal, callableStatement_getBlob, callableStatement_getBlob, callableStatement_getBoolean, callableStatement_getBoolean, callableStatement_getByte, callableStatement_getByte, callableStatement_getBytes, callableStatement_getBytes, callableStatement_getCharacterStream, callableStatement_getCharacterStream, callableStatement_getClob, callableStatement_getClob, callableStatement_getDate, callableStatement_getDate, callableStatement_getDate, callableStatement_getDate, callableStatement_getDouble, callableStatement_getDouble, callableStatement_getFloat, callableStatement_getFloat, callableStatement_getInt, callableStatement_getInt, callableStatement_getLong, callableStatement_getLong, callableStatement_getNCharacterStream, callableStatement_getNCharacterStream, callableStatement_getNClob, callableStatement_getNClob, callableStatement_getNString, callableStatement_getNString, callableStatement_getObject, callableStatement_getObject, callableStatement_getObject, callableStatement_getObject, callableStatement_getRef, callableStatement_getRef, callableStatement_getRowId, callableStatement_getRowId, callableStatement_getShort, callableStatement_getShort, callableStatement_getSQLXML, callableStatement_getSQLXML, callableStatement_getString, callableStatement_getString, callableStatement_getTime, callableStatement_getTime, callableStatement_getTime, callableStatement_getTime, callableStatement_getTimestamp, callableStatement_getTimestamp, callableStatement_getTimestamp, callableStatement_getTimestamp, callableStatement_getURL, callableStatement_getURL, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_registerOutParameter, callableStatement_setAsciiStream, callableStatement_setAsciiStream, callableStatement_setAsciiStream, callableStatement_setBigDecimal, callableStatement_setBinaryStream, callableStatement_setBinaryStream, callableStatement_setBinaryStream, callableStatement_setBlob, callableStatement_setBlob, callableStatement_setBlob, callableStatement_setBoolean, callableStatement_setByte, callableStatement_setBytes, callableStatement_setCharacterStream, callableStatement_setCharacterStream, callableStatement_setCharacterStream, callableStatement_setClob, callableStatement_setClob, callableStatement_setClob, callableStatement_setDate, callableStatement_setDate, callableStatement_setDouble, callableStatement_setFloat, callableStatement_setInt, callableStatement_setLong, callableStatement_setNCharacterStream, callableStatement_setNCharacterStream, callableStatement_setNClob, callableStatement_setNClob, callableStatement_setNClob, callableStatement_setNString, callableStatement_setNull, callableStatement_setNull, callableStatement_setObject, callableStatement_setObject, callableStatement_setObject, callableStatement_setRowId, callableStatement_setShort, callableStatement_setSQLXML, callableStatement_setString, callableStatement_setTime, callableStatement_setTime, callableStatement_setTimestamp, callableStatement_setTimestamp, callableStatement_setURL, callableStatement_wasNull, clob_free, clob_getAsciiStream, clob_getCharacterStream, clob_getCharacterStream, clob_getSubString, clob_length, clob_position, clob_position, clob_setAsciiStream, clob_setCharacterStream, clob_setString, clob_setString, clob_truncate, connection_clearWarnings, connection_close, connection_commit, connection_connect, connection_createArrayOf, connection_createBlob, connection_createClob, connection_createNClob, connection_createSQLXML, connection_createStatement, connection_createStatement, connection_createStatement, connection_createStruct, connection_getAutoCommit, connection_getCatalog, connection_getClientInfo, connection_getClientInfo, connection_getHoldability, connection_getMetaData, connection_getTransactionIsolation, connection_getTypeMap, connection_getWarnings, connection_isClosed, connection_isReadOnly, connection_isValid, connection_nativeSQL, connection_releaseSavepoint, connection_rollback, connection_rollback, connection_setAutoCommit, connection_setCatalog, connection_setClientInfo, connection_setClientInfo, connection_setHoldability, connection_setReadOnly, connection_setSavepoint, connection_setSavepoint, connection_setTransactionIsolation, connection_setTypeMap, dataSource_getConnection, dataSource_releaseConnection, destory, isWrapperFor, preparedStatement_addBatch, preparedStatement_clearParameters, preparedStatement_execute, preparedStatement_executeQuery, preparedStatement_executeUpdate, preparedStatement_getMetaData, preparedStatement_getParameterMetaData, preparedStatement_setArray, preparedStatement_setAsciiStream, preparedStatement_setAsciiStream, preparedStatement_setAsciiStream, preparedStatement_setBigDecimal, preparedStatement_setBinaryStream, preparedStatement_setBinaryStream, preparedStatement_setBinaryStream, preparedStatement_setBlob, preparedStatement_setBlob, preparedStatement_setBlob, preparedStatement_setBoolean, preparedStatement_setByte, preparedStatement_setBytes, preparedStatement_setCharacterStream, preparedStatement_setCharacterStream, preparedStatement_setCharacterStream, preparedStatement_setClob, preparedStatement_setClob, preparedStatement_setClob, preparedStatement_setDate, preparedStatement_setDate, preparedStatement_setDouble, preparedStatement_setFloat, preparedStatement_setInt, preparedStatement_setLong, preparedStatement_setNCharacterStream, preparedStatement_setNCharacterStream, preparedStatement_setNClob, preparedStatement_setNClob, preparedStatement_setNClob, preparedStatement_setNString, preparedStatement_setNull, preparedStatement_setNull, preparedStatement_setObject, preparedStatement_setObject, preparedStatement_setObject, preparedStatement_setRef, preparedStatement_setRowId, preparedStatement_setShort, preparedStatement_setSQLXML, preparedStatement_setString, preparedStatement_setTime, preparedStatement_setTime, preparedStatement_setTimestamp, preparedStatement_setTimestamp, preparedStatement_setUnicodeStream, preparedStatement_setURL, resultSet_absolute, resultSet_afterLast, resultSet_beforeFirst, resultSet_cancelRowUpdates, resultSet_clearWarnings, resultSet_close, resultSet_deleteRow, resultSet_findColumn, resultSet_first, resultSet_getArray, resultSet_getArray, resultSet_getAsciiStream, resultSet_getAsciiStream, resultSet_getBigDecimal, resultSet_getBigDecimal, resultSet_getBigDecimal, resultSet_getBigDecimal, resultSet_getBinaryStream, resultSet_getBinaryStream, resultSet_getBlob, resultSet_getBlob, resultSet_getBoolean, resultSet_getBoolean, resultSet_getByte, resultSet_getByte, resultSet_getBytes, resultSet_getBytes, resultSet_getCharacterStream, resultSet_getCharacterStream, resultSet_getClob, resultSet_getClob, resultSet_getConcurrency, resultSet_getCursorName, resultSet_getDate, resultSet_getDate, resultSet_getDate, resultSet_getDate, resultSet_getDouble, resultSet_getDouble, resultSet_getFetchDirection, resultSet_getFetchSize, resultSet_getFloat, resultSet_getFloat, resultSet_getHoldability, resultSet_getInt, resultSet_getInt, resultSet_getLong, resultSet_getLong, resultSet_getMetaData, resultSet_getNCharacterStream, resultSet_getNCharacterStream, resultSet_getNClob, resultSet_getNClob, resultSet_getNString, resultSet_getNString, resultSet_getObject, resultSet_getObject, resultSet_getObject, resultSet_getObject, resultSet_getRef, resultSet_getRef, resultSet_getRow, resultSet_getRowId, resultSet_getRowId, resultSet_getShort, resultSet_getShort, resultSet_getSQLXML, resultSet_getSQLXML, resultSet_getStatement, resultSet_getString, resultSet_getString, resultSet_getTime, resultSet_getTime, resultSet_getTime, resultSet_getTime, resultSet_getTimestamp, resultSet_getTimestamp, resultSet_getTimestamp, resultSet_getTimestamp, resultSet_getType, resultSet_getUnicodeStream, resultSet_getUnicodeStream, resultSet_getURL, resultSet_getURL, resultSet_getWarnings, resultSet_insertRow, resultSet_isAfterLast, resultSet_isBeforeFirst, resultSet_isClosed, resultSet_isFirst, resultSet_isLast, resultSet_last, resultSet_moveToCurrentRow, resultSet_moveToInsertRow, resultSet_next, resultSet_previous, resultSet_refreshRow, resultSet_relative, resultSet_rowDeleted, resultSet_rowInserted, resultSet_rowUpdated, resultSet_setFetchDirection, resultSet_setFetchSize, resultSet_updateArray, resultSet_updateArray, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateAsciiStream, resultSet_updateBigDecimal, resultSet_updateBigDecimal, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBinaryStream, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBlob, resultSet_updateBoolean, resultSet_updateBoolean, resultSet_updateByte, resultSet_updateByte, resultSet_updateBytes, resultSet_updateBytes, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateCharacterStream, resultSet_updateClob, resultSet_updateClob, resultSet_updateClob, resultSet_updateClob, resultSet_updateClob, resultSet_updateClob, resultSet_updateDate, resultSet_updateDate, resultSet_updateDouble, resultSet_updateDouble, resultSet_updateFloat, resultSet_updateFloat, resultSet_updateInt, resultSet_updateInt, resultSet_updateLong, resultSet_updateLong, resultSet_updateNCharacterStream, resultSet_updateNCharacterStream, resultSet_updateNCharacterStream, resultSet_updateNCharacterStream, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNClob, resultSet_updateNString, resultSet_updateNString, resultSet_updateNull, resultSet_updateNull, resultSet_updateObject, resultSet_updateObject, resultSet_updateObject, resultSet_updateObject, resultSet_updateRef, resultSet_updateRef, resultSet_updateRow, resultSet_updateRowId, resultSet_updateRowId, resultSet_updateShort, resultSet_updateShort, resultSet_updateSQLXML, resultSet_updateSQLXML, resultSet_updateString, resultSet_updateString, resultSet_updateTime, resultSet_updateTime, resultSet_updateTimestamp, resultSet_updateTimestamp, resultSet_wasNull, statement_cancel, statement_clearBatch, statement_clearWarnings, statement_close, statement_executeBatch, statement_getConnection, statement_getFetchDirection, statement_getFetchSize, statement_getGeneratedKeys, statement_getMaxFieldSize, statement_getMaxRows, statement_getMoreResults, statement_getMoreResults, statement_getQueryTimeout, statement_getResultSet, statement_getResultSetConcurrency, statement_getResultSetHoldability, statement_getResultSetType, statement_getUpdateCount, statement_getWarnings, statement_isClosed, statement_isPoolable, statement_setCursorName, statement_setEscapeProcessing, statement_setFetchDirection, statement_setFetchSize, statement_setMaxFieldSize, statement_setMaxRows, statement_setPoolable, statement_setQueryTimeout, unwrap
 
Methods inherited from class javax.management.NotificationBroadcasterSupport
addNotificationListener, getNotificationInfo, removeNotificationListener, removeNotificationListener, sendNotification
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WallFilter

public WallFilter()
Method Detail

init

public void init(DataSourceProxy dataSource)
Specified by:
init in interface Filter
Overrides:
init in class FilterAdapter

getDbType

public String getDbType()
Specified by:
getDbType in interface WallFilterMBean

setDbType

public void setDbType(String dbType)

isLogViolation

public boolean isLogViolation()
Specified by:
isLogViolation in interface WallFilterMBean

setLogViolation

public void setLogViolation(boolean logViolation)
Specified by:
setLogViolation in interface WallFilterMBean

isThrowException

public boolean isThrowException()
Specified by:
isThrowException in interface WallFilterMBean

setThrowException

public void setThrowException(boolean throwException)
Specified by:
setThrowException in interface WallFilterMBean

clearProviderCache

public void clearProviderCache()
Specified by:
clearProviderCache in interface WallFilterMBean

getProviderWhiteList

public Set<String> getProviderWhiteList()
Specified by:
getProviderWhiteList in interface WallFilterMBean

getProvider

public WallProvider getProvider()

getConfig

public WallConfig getConfig()

setConfig

public void setConfig(WallConfig config)

isInited

public boolean isInited()
Specified by:
isInited in interface WallFilterMBean

checkInit

public void checkInit()

statement_addBatch

public void statement_addBatch(FilterChain chain,
                               StatementProxy statement,
                               String sql)
                        throws SQLException
Specified by:
statement_addBatch in interface Filter
Overrides:
statement_addBatch in class FilterAdapter
Throws:
SQLException

connection_prepareStatement

public PreparedStatementProxy connection_prepareStatement(FilterChain chain,
                                                          ConnectionProxy connection,
                                                          String sql)
                                                   throws SQLException
Specified by:
connection_prepareStatement in interface Filter
Overrides:
connection_prepareStatement in class FilterAdapter
Throws:
SQLException

connection_prepareStatement

public PreparedStatementProxy connection_prepareStatement(FilterChain chain,
                                                          ConnectionProxy connection,
                                                          String sql,
                                                          int autoGeneratedKeys)
                                                   throws SQLException
Specified by:
connection_prepareStatement in interface Filter
Overrides:
connection_prepareStatement in class FilterAdapter
Throws:
SQLException

connection_prepareStatement

public PreparedStatementProxy connection_prepareStatement(FilterChain chain,
                                                          ConnectionProxy connection,
                                                          String sql,
                                                          int resultSetType,
                                                          int resultSetConcurrency)
                                                   throws SQLException
Specified by:
connection_prepareStatement in interface Filter
Overrides:
connection_prepareStatement in class FilterAdapter
Throws:
SQLException

connection_prepareStatement

public PreparedStatementProxy connection_prepareStatement(FilterChain chain,
                                                          ConnectionProxy connection,
                                                          String sql,
                                                          int resultSetType,
                                                          int resultSetConcurrency,
                                                          int resultSetHoldability)
                                                   throws SQLException
Specified by:
connection_prepareStatement in interface Filter
Overrides:
connection_prepareStatement in class FilterAdapter
Throws:
SQLException

connection_prepareStatement

public PreparedStatementProxy connection_prepareStatement(FilterChain chain,
                                                          ConnectionProxy connection,
                                                          String sql,
                                                          int[] columnIndexes)
                                                   throws SQLException
Specified by:
connection_prepareStatement in interface Filter
Overrides:
connection_prepareStatement in class FilterAdapter
Throws:
SQLException

connection_prepareStatement

public PreparedStatementProxy connection_prepareStatement(FilterChain chain,
                                                          ConnectionProxy connection,
                                                          String sql,
                                                          String[] columnNames)
                                                   throws SQLException
Specified by:
connection_prepareStatement in interface Filter
Overrides:
connection_prepareStatement in class FilterAdapter
Throws:
SQLException

connection_prepareCall

public CallableStatementProxy connection_prepareCall(FilterChain chain,
                                                     ConnectionProxy connection,
                                                     String sql)
                                              throws SQLException
Specified by:
connection_prepareCall in interface Filter
Overrides:
connection_prepareCall in class FilterAdapter
Throws:
SQLException

connection_prepareCall

public CallableStatementProxy connection_prepareCall(FilterChain chain,
                                                     ConnectionProxy connection,
                                                     String sql,
                                                     int resultSetType,
                                                     int resultSetConcurrency)
                                              throws SQLException
Specified by:
connection_prepareCall in interface Filter
Overrides:
connection_prepareCall in class FilterAdapter
Throws:
SQLException

connection_prepareCall

public CallableStatementProxy connection_prepareCall(FilterChain chain,
                                                     ConnectionProxy connection,
                                                     String sql,
                                                     int resultSetType,
                                                     int resultSetConcurrency,
                                                     int resultSetHoldability)
                                              throws SQLException
Specified by:
connection_prepareCall in interface Filter
Overrides:
connection_prepareCall in class FilterAdapter
Throws:
SQLException

statement_execute

public boolean statement_execute(FilterChain chain,
                                 StatementProxy statement,
                                 String sql)
                          throws SQLException
Specified by:
statement_execute in interface Filter
Overrides:
statement_execute in class FilterAdapter
Throws:
SQLException

statement_execute

public boolean statement_execute(FilterChain chain,
                                 StatementProxy statement,
                                 String sql,
                                 int autoGeneratedKeys)
                          throws SQLException
Specified by:
statement_execute in interface Filter
Overrides:
statement_execute in class FilterAdapter
Throws:
SQLException

statement_execute

public boolean statement_execute(FilterChain chain,
                                 StatementProxy statement,
                                 String sql,
                                 int[] columnIndexes)
                          throws SQLException
Specified by:
statement_execute in interface Filter
Overrides:
statement_execute in class FilterAdapter
Throws:
SQLException

statement_execute

public boolean statement_execute(FilterChain chain,
                                 StatementProxy statement,
                                 String sql,
                                 String[] columnNames)
                          throws SQLException
Specified by:
statement_execute in interface Filter
Overrides:
statement_execute in class FilterAdapter
Throws:
SQLException

statement_executeQuery

public ResultSetProxy statement_executeQuery(FilterChain chain,
                                             StatementProxy statement,
                                             String sql)
                                      throws SQLException
Specified by:
statement_executeQuery in interface Filter
Overrides:
statement_executeQuery in class FilterAdapter
Throws:
SQLException

statement_executeUpdate

public int statement_executeUpdate(FilterChain chain,
                                   StatementProxy statement,
                                   String sql)
                            throws SQLException
Specified by:
statement_executeUpdate in interface Filter
Overrides:
statement_executeUpdate in class FilterAdapter
Throws:
SQLException

statement_executeUpdate

public int statement_executeUpdate(FilterChain chain,
                                   StatementProxy statement,
                                   String sql,
                                   int autoGeneratedKeys)
                            throws SQLException
Specified by:
statement_executeUpdate in interface Filter
Overrides:
statement_executeUpdate in class FilterAdapter
Throws:
SQLException

statement_executeUpdate

public int statement_executeUpdate(FilterChain chain,
                                   StatementProxy statement,
                                   String sql,
                                   int[] columnIndexes)
                            throws SQLException
Specified by:
statement_executeUpdate in interface Filter
Overrides:
statement_executeUpdate in class FilterAdapter
Throws:
SQLException

statement_executeUpdate

public int statement_executeUpdate(FilterChain chain,
                                   StatementProxy statement,
                                   String sql,
                                   String[] columnNames)
                            throws SQLException
Specified by:
statement_executeUpdate in interface Filter
Overrides:
statement_executeUpdate in class FilterAdapter
Throws:
SQLException

check

public void check(String sql)
           throws SQLException
Specified by:
check in interface WallFilterMBean
Throws:
SQLException


Copyright © 2012 Alibaba Group. All Rights Reserved.