/*
_____       _    _    Corso   Italia,  178
(_|__   .  (_   |_|_  56125           Pisa
(_|_) |)|(()_)()| |   tel.  +39  050 46380
  |   |               picosoft@picosoft.it

 Copyright (C) Picosoft s.r.l. 1995-2002

 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2, or (at your option)
 any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

*/
# ifndef stmtrlvw_h
# define stmtrlvw_h "$Id: stmtrlvw.h 5.0 1999/10/08 10:17:43 picoSoft Exp $"
# include "relview.h"
# include "pkeybjct.h"

PKEYOBJECT(AttrView);
PLIST(AttrViewKeyObject);
PITERATOR(AttrViewKeyObject);

class StmtRelView : public PObject
{
   PCLASS(StmtRelView,PObject)
   PString  name;
   RelView &view;
   AttrViewKeyObjectList fields;
public:
   StmtRelView (RelView &p);
   StmtRelView (RelView &p, const PString &s);
   ~StmtRelView ();
   RelView *getRelView() { return &view; }
   void setName (const PString &s) { name = s; }
   AttrViewKeyObject *getField (const PString &s);
   AttrViewKeyObjectIterator getFields() {
      AttrViewKeyObjectIterator Return(fields);
      return Return;
   }
   const PString &getName() { return name; }
   const PString &getWhere() { return view.getWhere(); }
};

PLIST(StmtRelView);

# endif
