/*
* 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;
import com.google.common.base.Preconditions;
public class ViewFunctionTrace
extends BaseTrace
implements Trace
{
private String name;
private List<ViewFunctionArgument> arguments = new ArrayList<ViewFunctionArgument>();
private Traces<Trace> traces;
void setName( String name )
{
this.name = name;
}
@SuppressWarnings("UnusedDeclaration")
public String getName()
{
return name;
}
void addArgument( ViewFunctionArgument argument )
{
arguments.add( argument );
}
@SuppressWarnings("UnusedDeclaration")
public List<ViewFunctionArgument> getArguments()
{
return arguments;
}
void addTrace( Trace trace )
{
Preconditions.checkArgument( !( trace instanceof ViewFunctionTrace ),
"Preventing infinite recursion: trying to add trace of same type" );
if ( traces == null )
{
traces = Traces.create();
}
traces.add( trace );
}
public Traces<? extends Trace> getTraces()
{
return traces;
}
}