/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.portal.livetrace;
import java.util.ArrayList;
import java.util.List;
public class DatasourceExecutionTrace
extends BaseTrace
implements ContentIndexQuerier, RelatedContentFetcher, Trace
{
private String methodName;
private MaxLengthedString runnableCondition = new MaxLengthedString();
private boolean isExecuted;
private boolean isCacheUsed = false;
private List<DatasourceMethodArgument> datasourceMethodArgumentList = new ArrayList<DatasourceMethodArgument>();
private Traces<ClientMethodExecutionTrace> clientMethodExecutionTraceTraces;
private Traces<ContentIndexQueryTrace> contentIndexQueryTraces;
private Traces<RelatedContentFetchTrace> relatedContentFetchTraces;
DatasourceExecutionTrace( String methodName )
{
this.methodName = methodName;
}
@SuppressWarnings("UnusedDeclaration")
public String getMethodName()
{
return methodName;
}
@SuppressWarnings("UnusedDeclaration")
public boolean isExecuted()
{
return isExecuted;
}
void setExecuted( boolean executed )
{
isExecuted = executed;
}
@SuppressWarnings("UnusedDeclaration")
public String getRunnableCondition()
{
return runnableCondition != null ? runnableCondition.toString() : null;
}
void setRunnableCondition( String runnableCondition )
{
this.runnableCondition = new MaxLengthedString( runnableCondition );
}
@SuppressWarnings("UnusedDeclaration")
public boolean isCacheUsed()
{
return isCacheUsed;
}
void setCacheUsed( boolean cacheUsed )
{
isCacheUsed = cacheUsed;
}
void addDatasourceMethodArgument( DatasourceMethodArgument datasourceMethodArgument )
{
datasourceMethodArgumentList.add( datasourceMethodArgument );
}
@SuppressWarnings("UnusedDeclaration")
public List<DatasourceMethodArgument> getDatasourceMethodArguments()
{
return datasourceMethodArgumentList;
}
void addClientMethodExecutionTrace( ClientMethodExecutionTrace trace )
{
if ( clientMethodExecutionTraceTraces == null )
{
clientMethodExecutionTraceTraces = Traces.create();
}
clientMethodExecutionTraceTraces.add( trace );
}
@SuppressWarnings("UnusedDeclaration")
public Traces<ClientMethodExecutionTrace> getClientMethodExecutionTraces()
{
return clientMethodExecutionTraceTraces;
}
@Override
public void addContentIndexQueryTrace( ContentIndexQueryTrace trace )
{
if ( contentIndexQueryTraces == null )
{
contentIndexQueryTraces = Traces.create();
}
contentIndexQueryTraces.add( trace );
}
@Override
public void addRelatedContentFetchTrace( final RelatedContentFetchTrace trace )
{
if ( relatedContentFetchTraces == null )
{
relatedContentFetchTraces = Traces.create();
}
relatedContentFetchTraces.add( trace );
}
@SuppressWarnings("UnusedDeclaration")
public Traces<ContentIndexQueryTrace> getContentIndexQueryTraces()
{
return contentIndexQueryTraces;
}
@SuppressWarnings("UnusedDeclaration")
public Traces<RelatedContentFetchTrace> getRelatedContentFetchTraces()
{
return relatedContentFetchTraces;
}
}