#ifndef __DUMBDICTIONARY_HPP__
#define __DUMBDICTIONARY_HPP__
#include "containers/MutableContainerAdapter.hpp"
#include "Dictionary.hpp"
#include "defines.h"
class DictKeyPosition;
class List;
class Pair;
class DumbDictionary : public ContainerAdapter,
public Dictionary
{
public: DumbDictionary();
public: virtual ~DumbDictionary();
public: virtual Enumeration *getKeys() const;
public: virtual Enumeration *getValues() const;
public: virtual boolean isSuchKey( const DictKey *aKey ) const;
public: virtual Enumeration *getKeyEnumeration() const;
public: virtual Top *setValueAtKey( const DictKey *aKey, Top *aValue );
public: virtual Top *getValueAtKey( const DictKey *aKey ) const;
public: virtual void addKey( const DictKey *aKey, Top *aValue );
public: virtual Top *removeKey( const DictKey *aKey );
public: virtual Top *getValue( const Position *aPosition );
public: virtual Top *setValue( MutablePosition *aPosition, Top *aNewValue );
public: virtual Index getCardinality() const;
public: virtual PositionFactory *getDefaultPositionFactory() const;
public: virtual boolean canRemoveSlot( Position *aPosition ) const;
public: virtual void removeSlot( Position *aPosition );
public: virtual PositionEnumeration *getEnumeration() const;
public: virtual Enumeration *getValueEnumeration() const;
public: virtual Iterator *getMutableIterator() const;
public: virtual MutablePositionEnumeration *getMutableEnumeration() const;
public: virtual Top *clone() const;
public: virtual String getClassName() const;
#if defined( TESTING )
public: virtual boolean tester( int aParam ) const;
#endif
protected: DumbDictionary( List *aConses );
protected: List *getConses() const;
protected: Pair *getConsAt( const Index anIndex ) const;
protected: Index getIndexOf( const DictKey *aKey ) const;
protected: Pair *getConsOf( const DictKey *aKey ) const;
protected: List *conses;
};
#endif