ftp.nice.ch/peanuts/GeneralData/Documents/developer/dbkit/AdaptorDocu.tar.gz#/AdaptorDocu/HeadersFromNext/DBEntity.h

This is DBEntity.h in view mode; [Download] [Up]

/*
**      DBEntity.h
**      Database Kit, Release 3.0
**      Copyright (c) 1992, NeXT Computer, Inc.  All rights reserved. 
*/

#import <objc/Object.h>
#import <dbkit/protocols.h>

@class DBDatabase;
@class NXImage;

/*
** DBEntities are used to represent the gross structure of a database -- 
**  they represent data aggregates in the database, such as tables in a
**  relational database, objects in an object repository, or news stories on
**  newswire.
**
** DBEntities contain a list of "property" objects, which obey the DBProperties
**  protocol. These properties are a collection of attributes, and/or
**  relationships, and/or other user-defined modelling objects.
*/
@interface DBEntity : Object <DBEntities, DBExpressionValues>
{
  id database;                  /* database that instantiated entity */
@private
  id _propertyNameExpr;		/* name of entity */
  id _internalNameExpr;		/* name used to locate entity in server */
  id _contentsList;		/* combined list of attributes/relationships */
  id _image;			/* image displayed in Interface Builder */
  id _private;
  struct {
    BOOL loaded:1;              /* used to implement "lazy" entities */
    BOOL hidden:1;		/* is entity invisible in browsers? */
    int _RESERVED:14;
  } _flags;
}

+ initialize;

/*
** This is used in the context of a "lazy" dictionary.  If this flag is set,
**  the next access any component of the entity will cause it to call the
**  database with a populateEntity: message.
**
** This mechanism could be used to insure efficient, yet safe, access to a
**  changing db.  By setting loadOnAccess, you can insure that the entity
**  will be reloaded from the model's server on the next access to its
**  contents.
*/
- initWithName:(const char*)aName loadableFromDatabase:(DBDatabase*)aDatabase;
- copyFromZone:(NXZone*)z;
- free;

- addProperty:(id<DBProperties>)aProperty;
- setInternalName:(const char *)aName;
- (const char *)internalName;

- (NXImage*)image;
- setImage:(NXImage*)anImage;

- (BOOL)isHidden;
- setHidden:(BOOL)yn;

- read:(NXTypedStream*)ts;
- write:(NXTypedStream*)ts;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.