//
//
//
//
// $Revision: 2318 $
//
using System;
using System.Collections;
namespace ICSharpCode.Core
{
///
/// Interface for classes that can build objects out of codons.
///
/// http://en.wikipedia.org/wiki/Fraggle_Rock#Doozers
public interface IDoozer
{
///
/// Gets if the doozer handles codon conditions on its own.
/// If this property return false, the item is excluded when the condition is not met.
///
bool HandleConditions { get; }
///
/// Construct the item.
///
/// The caller passed to .
/// The codon to build.
/// The list of objects created by (other) doozers for the sub items.
/// The constructed item.
object BuildItem(object caller, Codon codon, ArrayList subItems);
}
}