libs-gdl2/EOControl/EOFetchSpecification.h

164 lines
5.1 KiB
C
Raw Normal View History

/*
EOFetchSpecification.h
Copyright (C) 2000 Free Software Foundation, Inc.
Author: Mirko Viviani <mirko.viviani@rccr.cremona.it>
Date: February 2000
This file is part of the GNUstep Database Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __EOFetchSpecification_h__
#define __EOFetchSpecification_h__
#import <Foundation/NSObject.h>
@class NSArray;
@class NSDictionary;
@class NSString;
@class EOQualifier;
@class EOKeyValueArchiver;
@class EOKeyValueUnarchiver;
@class EOFetchSpecification;
@interface EOFetchSpecification : NSObject <NSCopying, NSCoding>
{
EOQualifier *_qualifier;
NSArray *_sortOrderings;
NSString *_entityName;
NSDictionary *_hints;
unsigned int _fetchLimit;
NSArray *_prefetchingRelationshipKeys;
NSArray *_rawAttributeKeys;
struct {
unsigned usesDistinct:1;
unsigned isDeep:1;
unsigned locksObjects:1;
unsigned refreshesRefetchedObjects:1;
unsigned promptsAfterFetchLimit:1;
unsigned allVariablesRequiredFromBindings:1;
unsigned :26; //padding
}_flags;
}
+ (EOFetchSpecification *)fetchSpecification;
- init;
- initWithEntityName: (NSString *)entityName
qualifier: (EOQualifier *)qualifier
sortOrderings: (NSArray *)sortOrderings
usesDistinct: (BOOL)usesDistinct
isDeep: (BOOL)isDeep
hints: (NSDictionary *)hints;
- (EOFetchSpecification *)fetchSpecificationByApplyingBindings: (id)bindings;
- (EOFetchSpecification *)fetchSpecificationWithQualifierBindings: (NSDictionary *)bindings;
+ (EOFetchSpecification *)fetchSpecificationNamed: (NSString *)name
entityNamed: (NSString *)entityName;
+ (EOFetchSpecification *)fetchSpecificationWithEntityName: (NSString *)name
qualifier: (EOQualifier *)qualifier
sortOrderings: (NSArray *)sortOrderings;
2003-01-31 Manuel Guesdon <mguesdon@orange-concept.com> * EOAccess/EOAdaptorChannel.m: o replaced NSDebugMLLog by EOFLOGObjectLevel/EOFLOGObjectLevelArgs * EOAccess/EOAttribute.m: o replaced NSDebugMLLog by EOFLOGObjectLevel/EOFLOGObjectLevelArgs * EOAccess/EODatabaseChannel.m: o replaced NSDebugMLLog by EOFLOGObjectLevel/EOFLOGObjectLevelArgs o Move registration for EODatabaseChannelNeddedNotification from +load to +initialize. (David Ayers <d.ayers@inode.at>) * EOAccess/EODatabaseContext.m: o Move registration for EODatabaseChannelNeddedNotification from +load to +initialize. (David Ayers <d.ayers@inode.at>) * EOAccess/EOEntity.m: o in - (void) _setIsEdited, autorelease instead of destroy * EOAccess/EORelationship.m o -validateValue: don't raise not implemented exception o initialize variables in -foreignKeyInDestination * EOAccess/EOSQLExpression.m: o added NSAsserts o use anyRelationshipNamed: instead of relationshipNamed: to find hidden relationships * EOControl/EOClassDescription.m o -displayNameForKey: use -stringWithCapacity instead of +alloc -initWithCapacity (missing autorelease) o -validationExceptionWithFormat: initialize variables o -aggregateExceptionWithExceptions: initialize variables o -aggregateExceptionWithExceptions: autorelease copied value o -exceptionAddingEntriesToUserInfo: initialize variables o -exceptionAddingEntriesToUserInfo: autorelease copied userInfo o -snapshot autorelease copied value o -updateFromSnapshot: autorelease copied value * EOControl/EOFetchSpecification.h: o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:isDeep:hints: o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct: * EOControl/EOFetchSpecification.m: o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:isDeep:hints: o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct: o removed +fetchSpecificationNamed:entityNamed: (implemented in EOUtilities) o Insure that EODatabaseContext is initialized early. (David Ayers <d.ayers@inode.at>) * EOControl/EOGenericRecord.m o in -eoFormatSizeDictionary: handle /0 o in +eoCalculateAllSizeWith: don't de-fault objects o in +eoCalculateAllSizeWith: manage a local autorelease pool * EOControl/EOKeyValueCoding.h: o added -smartTakeValue:forKey: o -smartTakeValue:forKeyPath: o -storedValuesForKeyPaths: * EOControl/EOGlobalID.m: o Insure that EODatabaseContext is initialized early. (David Ayers <d.ayers@inode.at>) * EOControl/EOQualifier.m: o +operatorSelectorForString:]): Parse 'doesContain' instead of 'contains' (David Ayers <d.ayers@inode.at>) * EOControl/EODebug.m: o include NSDebug.h git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15845 72102866-910b-0410-8b05-ffd578937521
2003-02-01 15:19:56 +00:00
+ (EOFetchSpecification *)fetchSpecificationWithEntityName: (NSString *)name
qualifier: (EOQualifier *)qualifier
sortOrderings: (NSArray *)sortOrderings
usesDistinct: (BOOL)usesDistinct
isDeep: (BOOL)isDeep
hints: (NSDictionary *)hints;
+ (EOFetchSpecification *)fetchSpecificationWithEntityName: (NSString *)name
qualifier: (EOQualifier *)qualifier
sortOrderings: (NSArray *)sortOrderings
usesDistinct: (BOOL)usesDistinct;
- copyWithZone:(NSZone *)zone;
- (id) initWithKeyValueUnarchiver: (EOKeyValueUnarchiver*)unarchiver;
- (void) encodeWithKeyValueArchiver: (EOKeyValueUnarchiver*)archiver;
- (void)setEntityName: (NSString *)entityName;
- (NSString *)entityName;
- (void)setSortOrderings: (NSArray *)sortOrderings;
- (NSArray *)sortOrderings;
- (void)setQualifier: (EOQualifier *)qualifier;
- (EOQualifier *)qualifier;
- (void)setUsesDistinct: (BOOL)usesDistinct;
- (BOOL)usesDistinct;
- (void)setIsDeep: (BOOL)isDeep;
- (BOOL)isDeep;
- (void)setLocksObjects: (BOOL)setLocksObjects;
- (BOOL)locksObjects;
- (void)setRefreshesRefetchedObjects: (BOOL)refreshesRefetchedObjects;
- (BOOL)refreshesRefetchedObjects;
- (void)setFetchLimit: (unsigned)fetchLimit;
- (unsigned)fetchLimit;
- (void)setPromptsAfterFetchLimit: (BOOL)promptsAfterFetchLimit;
- (BOOL)promptsAfterFetchLimit;
- (void)setAllVariablesRequiredFromBindings: (BOOL)allVariablesRequired;
- (BOOL)allVariablesRequiredFromBindings;
- (void)setPrefetchingRelationshipKeyPaths: (NSArray *)prefetchingRelationshipKeys;
- (NSArray *)prefetchingRelationshipKeyPaths;
- (void)setRawAttributeKeys: (NSArray *)rawAttributeKeys;
- (NSArray *)rawAttributeKeys;
- (void)setFetchesRawRows: (BOOL)fetchRawRows;
- (BOOL)fetchesRawRows;
- (void)setHints: (NSDictionary *)hints;
- (NSDictionary *)hints;
- (NSDictionary *)_hints;
- (NSArray *)rawRowKeyPaths;
- (void)setRawRowKeyPaths: (NSArray *)rawRowKeyPaths;
- (BOOL)requiresAllQualifierBindingVariables;
- (void)setRequiresAllQualifierBindingVariables: (BOOL)flag;
@end
extern NSString *EOPrefetchingRelationshipHintKey;
extern NSString *EOFetchLimitHintKey;
extern NSString *EOPromptsAfterFetchLimitHintKey;
#endif