/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.store.hibernate.cache.invalidation;
public class SqlAnalyzer
{
private final String sql;
private String tableName = null;
private boolean isInsertType = false;
public String getSql()
{
return sql;
}
public String resolveTableName()
{
return tableName;
}
public boolean isInsertType()
{
return isInsertType;
}
public SqlAnalyzer( String sql )
{
this.sql = sql;
String[] parts = sql.trim().split( "[\\s()]+" );
if ( ( parts.length >= 2 ) && parts[0].toLowerCase().equals( "update" ) )
{
tableName = parts[1];
}
else if ( ( parts.length >= 3 ) && parts[0].toLowerCase().equals( "insert" ) && parts[1].toLowerCase().equals( "into" ) )
{
tableName = parts[2];
isInsertType = true;
}
else if ( ( parts.length >= 3 ) && parts[0].toLowerCase().equals( "delete" ) && parts[1].toLowerCase().equals( "from" ) )
{
tableName = parts[2];
}
}
}