aboutsummaryrefslogtreecommitdiffstats
path: root/Frameworks/MCPKit/MCPEntrepriseKit/MCPClassDescription+MCPEntreprise.m
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2012-02-23 02:13:56 +0000
committerrowanbeentje <rowan@beent.je>2012-02-23 02:13:56 +0000
commit05f1612cbb7e33cf9135a346fc2505cc0e87e853 (patch)
tree785824be4e44a61389271343d958851fa4ff7dd0 /Frameworks/MCPKit/MCPEntrepriseKit/MCPClassDescription+MCPEntreprise.m
parenta889340b9cb1eca0d3ff022e8e6e2c718480bf44 (diff)
downloadsequelpro-05f1612cbb7e33cf9135a346fc2505cc0e87e853.tar.gz
sequelpro-05f1612cbb7e33cf9135a346fc2505cc0e87e853.tar.bz2
sequelpro-05f1612cbb7e33cf9135a346fc2505cc0e87e853.zip
Warning: this branch commit is largely untested, and known to throw exceptions as database structure retrieval is currently missing!
Further work on SPMySQLFramework integration: - Improve SPMySQL framework build settings including correct ppc builds and a Distribution configuration for the build distributions to match - Add new convenience querying and result methods to the framework - Amend Sequel Pro source to use the new SPMySQL.framework methods everywhere, replacing MCPKit methods where they differ and improving some functions - Remove MCPKit from the source - Fix a number of warnings on Release-style builds
Diffstat (limited to 'Frameworks/MCPKit/MCPEntrepriseKit/MCPClassDescription+MCPEntreprise.m')
-rw-r--r--Frameworks/MCPKit/MCPEntrepriseKit/MCPClassDescription+MCPEntreprise.m186
1 files changed, 0 insertions, 186 deletions
diff --git a/Frameworks/MCPKit/MCPEntrepriseKit/MCPClassDescription+MCPEntreprise.m b/Frameworks/MCPKit/MCPEntrepriseKit/MCPClassDescription+MCPEntreprise.m
deleted file mode 100644
index 71a25911..00000000
--- a/Frameworks/MCPKit/MCPEntrepriseKit/MCPClassDescription+MCPEntreprise.m
+++ /dev/null
@@ -1,186 +0,0 @@
-//
-// $Id$
-//
-// MCPClassDescription+MCPEntreprise.m
-// MCPKit
-//
-// Created by Serge Cohen (serge.cohen@m4x.org) on 01/11/04.
-// Copyright (c) 2004 Serge Cohen. All rights reserved.
-//
-// Forked by the Sequel Pro team (sequelpro.com), April 2009
-//
-// 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 of the License, 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// More info at <http://mysql-cocoa.sourceforge.net/>
-// More info at <http://code.google.com/p/sequel-pro/>
-
-#import "MCPClassDescription+MCPEntreprise.h"
-
-#import "MCPAttribute.h"
-#import "MCPRelation.h"
-
-@implementation MCPClassDescription (MCPEntreprise)
-
-#pragma mark Pseudo getters (for NSClassDescription overload)
-- (NSArray *) attributeKeys
-{
- NSArray *theRet;
- NSMutableArray *theKeys =[[NSMutableArray alloc] init];
- NSUInteger i;
-
- for (i=0; i != [self countOfAttributes]; ++i) {
- [theKeys insertObject:[(MCPAttribute *)[self objectInAttributesAtIndex:i] name] atIndex:i];
- }
- theRet = [NSArray arrayWithArray:theKeys];
- [theKeys release];
- return theRet;
-}
-
-- (NSString *) inverseRelationshipKey:(NSString *) relationshipKey
-{
- NSUInteger index = [self indexOfRelation:relationshipKey];
-
- if (NSNotFound != index) {
- MCPRelation *theRelation;
-
- theRelation = (MCPRelation *)[self objectInRelationsAtIndex:index];
- return [[theRelation inverseRelation] name];
- }
- return nil;
-}
-
-- (NSArray *) toManyRelationshipKeys
-{
- NSArray *theRet;
- NSMutableArray *theToManyRel = [[NSMutableArray alloc] init];
- NSUInteger i, j;
-
- j=0;
- for (i=0; i != [self countOfRelations]; ++i) {
- MCPRelation *theRelation = (MCPRelation *)[self objectInRelationsAtIndex:i];
-
- if ([theRelation isToMany]) {
- [theToManyRel insertObject:[theRelation name] atIndex:j];
- ++j;
- }
- }
- theRet = [NSArray arrayWithArray:theToManyRel];
- [theToManyRel release];
- return theRet;
-}
-
-- (NSArray *) toOneRelationshipKeys;
-{
- NSArray *theRet;
- NSMutableArray *theToOneRel = [[NSMutableArray alloc] init];
- NSUInteger i, j;
-
- j=0;
- for (i=0; i != [self countOfRelations]; ++i) {
- MCPRelation *theRelation = (MCPRelation *)[self objectInRelationsAtIndex:i];
-
- if (! [theRelation isToMany]) {
- [theToOneRel insertObject:[theRelation name] atIndex:j];
- ++j;
- }
- }
- theRet = [NSArray arrayWithArray:theToOneRel];
- [theToOneRel release];
- return theRet;
-}
-
-#pragma mark Specifics for MCPObject
-- (NSArray *) primaryKeyAttributes
-{
- NSMutableArray *theRet = [NSMutableArray array];
- NSUInteger i, j;
-
- j = 0;
- for (i=0; i != [self countOfAttributes]; ++i) {
- MCPAttribute *theAttribute = (MCPAttribute *)[self objectInAttributesAtIndex:i];
-
- if ([theAttribute isPartOfKey]) {
- [theRet insertObject:theAttribute atIndex:j];
- ++j;
- }
- }
- return (NSArray *)theRet;
-}
-
-- (NSArray *) identityAttributes
-{
- NSMutableArray *theRet = [NSMutableArray array];
- NSUInteger i, j;
-
- j = 0;
- for (i=0; i != [self countOfAttributes]; ++i) {
- MCPAttribute *theAttribute = (MCPAttribute *)[self objectInAttributesAtIndex:i];
-
- if ([theAttribute isPartOfIdentity]) {
- [theRet insertObject:theAttribute atIndex:j];
- ++j;
- }
- }
- return (NSArray *)theRet;
-}
-
-- (MCPAttribute *) attributeWithName: (NSString *) iName
-{
-// This type of implementation is NOT working : most likely the isEqual method is called on iName rather than on the objects of the array
-/*
- unsigned int index = [self indexOfAttribute:iName];
-
- return (NSNotFound != index) ? (MCPAttribute *)[self objectInAttributesAtIndex:index] : nil ;
-*/
- NSUInteger i;
-
- for (i = 0; [attributes count] != i; ++i) {
- if ([[(MCPAttribute *)[attributes objectAtIndex:i] name] isEqualToString:iName]) {
- return (MCPAttribute *)[attributes objectAtIndex:i];
- }
- }
- return nil;
-}
-
-- (MCPRelation *) relationWithName:(NSString *) iRelationName
-{
-// This type of implementation is NOT working : most likely the isEqual method is called on iName rather than on the objects of the array
-/* unsigned int index = [relations indexOfObject:iRelationName];
-
- return (NSNotFound != index) ? (MCPRelation *)[relations objectAtIndex:index] : nil;
-*/
- NSUInteger i;
-
- for (i = 0; [relations count] != i; ++i) {
- if ([[(MCPRelation *)[relations objectAtIndex:i] name] isEqualToString:iRelationName]) {
- return (MCPRelation *)[relations objectAtIndex:i];
- }
- }
- return nil;
-}
-
-- (BOOL) singleIntAutoGenKey
-{
- NSArray *theKeys = [self primaryKeyAttributes];
-
- if (1 == [theKeys count]) {
- MCPAttribute *theSingleKey = (MCPAttribute *)[theKeys objectAtIndex:0];
-
- return [theSingleKey autoGenerated] && [[theSingleKey externalType] isEqualToString:@"INT"];
- }
- return NO;
-}
-
-@end