diff options
Diffstat (limited to 'projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOFetchSpecification.java')
| -rw-r--r-- | projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOFetchSpecification.java | 847 |
1 files changed, 391 insertions, 456 deletions
diff --git a/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOFetchSpecification.java b/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOFetchSpecification.java index 71f3b78..9ff353e 100644 --- a/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOFetchSpecification.java +++ b/projects/net.wotonomy.persistence/src/main/java/net/wotonomy/control/EOFetchSpecification.java @@ -30,439 +30,378 @@ import net.wotonomy.foundation.NSSelector; import net.wotonomy.foundation.internal.WotonomyException; /** -* EOFetchSpecification defines the parameters used to request -* objects from an EOObjectStore. They are commonly created -* and passed to a EODataSource which fetches from its -* EOEditingContext, which passes the call up to its root -* EOObjectStore's objectsWithFetchSpecification method. -* -* @author michael@mpowers.net -* @author $Author: cgruber $ -* @version $Revision: 894 $ -*/ + * EOFetchSpecification defines the parameters used to request objects from an + * EOObjectStore. They are commonly created and passed to a EODataSource which + * fetches from its EOEditingContext, which passes the call up to its root + * EOObjectStore's objectsWithFetchSpecification method. + * + * @author michael@mpowers.net + * @author $Author: cgruber $ + * @version $Revision: 894 $ + */ public class EOFetchSpecification implements EOKeyValueArchiving { - private boolean fetchesRawRows; - private String entityName; - private NSDictionary hints; - private boolean deep; - private int fetchLimit; - private boolean locksObjects; - private NSArray prefetchingRelationshipKeyPaths; - private boolean promptsAfterFetchLimit; - private EOQualifier qualifier; - private NSArray rawRowKeyPaths; - private boolean refreshesRefetchedObjects; - private boolean requiresAllQualifierBindingVariables; - private NSArray sortOrderings; - private boolean distinct; - - /** - * Default constructor initializes internal state. - */ - public EOFetchSpecification() - { - fetchesRawRows = false; - entityName = null; - hints = null; - deep = true; - fetchLimit = 0; - locksObjects = false; - prefetchingRelationshipKeyPaths = null; - promptsAfterFetchLimit = false; - qualifier = null; - rawRowKeyPaths = null; - refreshesRefetchedObjects = false; - requiresAllQualifierBindingVariables = false; - sortOrderings = null; - distinct = false; - } - - /** - * Constructs a fetch specification for the specified entity type using - * the specified qualifier and sort ordering. - */ - public EOFetchSpecification( String anEntityName, EOQualifier aQualifier, List aSortOrderingList ) - { - this(); - entityName = anEntityName; - qualifier = aQualifier; - sortOrderings = new NSArray( (Collection) aSortOrderingList ); - } - - /** - * Constructs a fetch specification for the specified entity type using - * the specified qualifier and sort ordering, distinct flag, deep flag, - * and hints dictionary. - */ - public EOFetchSpecification( String anEntityName, EOQualifier aQualifier, NSArray aSortOrderingList, - boolean usesDistinct, boolean isDeep, Map aHintMap) - { - this(); - entityName = anEntityName; - qualifier = aQualifier; - sortOrderings = new NSArray( (Collection) aSortOrderingList ); - distinct = usesDistinct; - deep = isDeep; - hints = new NSMutableDictionary( (Map) aHintMap ); - } - - /** - * Convenience to return the named fetch specification from the class description - * corresponding to the specified entity name. Returns null if either entityName - * or spec name cannot be resolved. - */ - public static EOFetchSpecification fetchSpecificationNamed( String name, String entityName) - { - EOClassDescription classDesc = EOClassDescription.classDescriptionForEntityName( entityName ); - if ( classDesc == null ) return null; - return classDesc.fetchSpecificationNamed( name ); - } - - /** - * Implemented to return a new fetch specification that is a deep copy of this one. - */ - public Object clone() - { - EOFetchSpecification clone = new EOFetchSpecification(); - - clone.fetchesRawRows = this.fetchesRawRows; - clone.entityName = this.entityName; - if ( this.hints != null ) - clone.hints = new NSDictionary( (Map) this.hints ); - clone.deep = this.deep; - clone.locksObjects = this.locksObjects; - if ( this.prefetchingRelationshipKeyPaths != null ) - clone.prefetchingRelationshipKeyPaths = - new NSArray( (List) prefetchingRelationshipKeyPaths ); - clone.promptsAfterFetchLimit = this.promptsAfterFetchLimit; - if ( this.qualifier != null ) - clone.qualifier = this.qualifier; //FIXME: probably should clone? - if ( this.rawRowKeyPaths != null ) - clone.rawRowKeyPaths = new NSArray( (List) this.rawRowKeyPaths ); - clone.refreshesRefetchedObjects = this.refreshesRefetchedObjects; - clone.requiresAllQualifierBindingVariables = - this.requiresAllQualifierBindingVariables; - if ( this.sortOrderings != null ) - clone.sortOrderings = new NSArray( (List) this.sortOrderings ); - clone.distinct = this.distinct; - - return clone; - } - - /** - * Returns the name of the entity fetched by this fetch spec. - */ - public String entityName() - { - return entityName; - } - - /** - * Returns the current fetch limit. - * A fetch limit of zero indicates no fetch limit. - * Zero is the default. - */ - public int fetchLimit() - { - return fetchLimit; - } - - /** - * Returns whether this fetch spec will fetch raw rows. - * Default is false. - */ - public boolean fetchesRawRows() - { - return fetchesRawRows; - } - - /** - * Returns a fetch specification that resolves the bindings - * in the specified map. - */ - public EOFetchSpecification - fetchSpecificationWithQualifierBindings(Map aBindingMap) - { - throw new WotonomyException( "Not implemented yet" ); - } - - /** - * Returns a Map containing the hints used by this fetch specification, - * or null if no hints have been specified. - */ - public NSDictionary hints() - { - if ( hints == null ) return null; - return new NSDictionary( (NSDictionary) hints ); - } - - /** - * Returns whether entities related to the primary - * entities are fetched by this fetch spec. If true, all relationships - * whose destinations meet the qualifier criteria will be returned - * in addition to primary results. If false, only the primary entities - * will be returned. Default is true. - */ - public boolean isDeep() - { - return deep; - } - - /** - * Returns whether this data source should lock objects that - * are fetched. Default is false. - */ - public boolean locksObjects() - { - return locksObjects; - } - - /*** - * Returns a List of relationships for the fetched objects that - * should also be fetched, or null if no such list has been specified. - * Use this to avoid additional calls to the server to fetch - * relationships that you know you will use. - * NOTE: wotonomy allows you to specify non-relational keys - * as well. - */ - public NSArray prefetchingRelationshipKeyPaths() - { - return prefetchingRelationshipKeyPaths; - } - - /** - * Returns whether the user should be prompted to continue - * when the fetch limit has been exceeded. - * Default is false. - */ - public boolean promptsAfterFetchLimit() - { - return promptsAfterFetchLimit; - } - - /** - * Returns the qualifier used by this fetch specification, - * or null if none has been specified. - */ - public EOQualifier qualifier() - { - return qualifier; - } - - /** - * Returns a List of keys or key paths for which - * values should be returned when fetching raw rows, - * or null if no raw row key paths have been specified. - */ - public NSArray rawRowKeyPaths() - { - return rawRowKeyPaths; - } - - /** - * Returns whether fetched objects should replace - * modified versions already fetched into an editing context. - * If true, those changes will be lost. - * Default is false. - */ - public boolean refreshesRefetchedObjects() - { - return refreshesRefetchedObjects; - } - - /** - * Returns whether all qualifier bindings must be specified - * in order to fetch. If true, an exception is thrown if - * unspecified bindings exist. If false, unspecified bindings - * will be removed from the qualifier. Default is false. - */ - public boolean requiresAllQualifierBindingVariables() - { - return requiresAllQualifierBindingVariables; - } - - /** - * Sets the name of the entity fetched by this spec. - */ - public void setEntityName(String aName) - { - entityName = aName; - } - - /** - * Sets whether this fetch spec will return raw rows. - */ - public void setFetchesRawRows(boolean shouldFetchRawRows) - { - fetchesRawRows = shouldFetchRawRows; - } - - /** - * Sets the limit on the number of records returned for this fetch spec. - * Zero indicates no limit on fetches. - */ - public void setFetchLimit(int aLimit) - { - fetchLimit = aLimit; - } - - /** - * Sets the hints passed by this fetch spec. - */ - public void setHints(Map aHintMap) - { - if ( aHintMap == null ) - { - hints = null; - } - else - { - hints = new NSDictionary( (Map) aHintMap ); - } - } - - /** - * Sets whether this fetch specification fetches deeply. - */ - public void setIsDeep(boolean isDeep) - { - deep = isDeep; - } - - /** - * Sets whether this fetch spec locks objects that - * are returned by the fetch. - */ - public void setLocksObjects(boolean shouldLockObjects) - { - locksObjects = shouldLockObjects; - } - - /** - * Sets the prefetch key paths that should be used as an optimization - * hint to the server. NOTE: wotonomy allows you to specify non-relationship - * keys as well. - */ - public void setPrefetchingRelationshipKeyPaths(List aKeyPathList) - { - if ( aKeyPathList == null ) - { - prefetchingRelationshipKeyPaths = null; - } - else - { - prefetchingRelationshipKeyPaths = new NSArray( (List) aKeyPathList ); - } - } - - /** - * Sets whether the user should be prompted when the fetch limit has been - * reached. - */ - public void setPromptsAfterFetchLimit(boolean shouldPrompt) - { - promptsAfterFetchLimit = shouldPrompt; - } - - /** - * Sets the qualifier used by this fetch specification. - */ - public void setQualifier(EOQualifier aQualifier) - { - qualifier = aQualifier; - } - - /** - * Sets the key paths to be returned if this fetch spec - * is returning raw rows. - */ - public void setRawRowKeyPaths(List aKeyPathList) - { - if ( aKeyPathList == null ) - { - rawRowKeyPaths = null; - } - else - { - rawRowKeyPaths = new NSArray( (List) aKeyPathList ); - } - } - - /** - * Sets whether modified objects in an editing context should - * be replaced by newer versions returned by this fetch spec. - */ - public void setRefreshesRefetchedObjects(boolean shouldRefresh) - { - refreshesRefetchedObjects = shouldRefresh; - } - - /** - * Sets whether this fetch spec should require all bindings to be - * resolved before executing. - */ - public void setRequiresAllQualifierBindingVariables(boolean shouldRequireAll) - { - requiresAllQualifierBindingVariables = shouldRequireAll; - } - - /** - * Sets the sort orderings used by this fetch spec. - */ - public void setSortOrderings(List aSortList) - { - if ( aSortList == null ) - { - sortOrderings = null; - } - else - { - sortOrderings = new NSArray( (List) aSortList ); - } - } - - /** - * Sets whether this fetch spec should return only distinct - * objects. - */ - public void setUsesDistinct(boolean shouldUseDistinct) - { - distinct = shouldUseDistinct; - } - - /** - * Returns a List of the sort orderings used by this fetch spec, - * or null if none have been specified. - */ - public NSArray sortOrderings() - { - return sortOrderings; - } - - /** - * Returns a string representation of this fetch specification. - */ - public String toString() - { - return "[FetchSpecification:qualifier=("+qualifier+"),sortOrderings="+sortOrderings+"]"; - } - - /** - * Returns whether this fetch specification will return only one - * reference to each distinct object returned by the fetch. - * Default is false. - */ - public boolean usesDistinct() - { - return distinct; - } + private boolean fetchesRawRows; + private String entityName; + private NSDictionary hints; + private boolean deep; + private int fetchLimit; + private boolean locksObjects; + private NSArray prefetchingRelationshipKeyPaths; + private boolean promptsAfterFetchLimit; + private EOQualifier qualifier; + private NSArray rawRowKeyPaths; + private boolean refreshesRefetchedObjects; + private boolean requiresAllQualifierBindingVariables; + private NSArray sortOrderings; + private boolean distinct; + + /** + * Default constructor initializes internal state. + */ + public EOFetchSpecification() { + fetchesRawRows = false; + entityName = null; + hints = null; + deep = true; + fetchLimit = 0; + locksObjects = false; + prefetchingRelationshipKeyPaths = null; + promptsAfterFetchLimit = false; + qualifier = null; + rawRowKeyPaths = null; + refreshesRefetchedObjects = false; + requiresAllQualifierBindingVariables = false; + sortOrderings = null; + distinct = false; + } + + /** + * Constructs a fetch specification for the specified entity type using the + * specified qualifier and sort ordering. + */ + public EOFetchSpecification(String anEntityName, EOQualifier aQualifier, List aSortOrderingList) { + this(); + entityName = anEntityName; + qualifier = aQualifier; + sortOrderings = new NSArray((Collection) aSortOrderingList); + } + + /** + * Constructs a fetch specification for the specified entity type using the + * specified qualifier and sort ordering, distinct flag, deep flag, and hints + * dictionary. + */ + public EOFetchSpecification(String anEntityName, EOQualifier aQualifier, NSArray aSortOrderingList, + boolean usesDistinct, boolean isDeep, Map aHintMap) { + this(); + entityName = anEntityName; + qualifier = aQualifier; + sortOrderings = new NSArray((Collection) aSortOrderingList); + distinct = usesDistinct; + deep = isDeep; + hints = new NSMutableDictionary((Map) aHintMap); + } + + /** + * Convenience to return the named fetch specification from the class + * description corresponding to the specified entity name. Returns null if + * either entityName or spec name cannot be resolved. + */ + public static EOFetchSpecification fetchSpecificationNamed(String name, String entityName) { + EOClassDescription classDesc = EOClassDescription.classDescriptionForEntityName(entityName); + if (classDesc == null) + return null; + return classDesc.fetchSpecificationNamed(name); + } + + /** + * Implemented to return a new fetch specification that is a deep copy of this + * one. + */ + public Object clone() { + EOFetchSpecification clone = new EOFetchSpecification(); + + clone.fetchesRawRows = this.fetchesRawRows; + clone.entityName = this.entityName; + if (this.hints != null) + clone.hints = new NSDictionary((Map) this.hints); + clone.deep = this.deep; + clone.locksObjects = this.locksObjects; + if (this.prefetchingRelationshipKeyPaths != null) + clone.prefetchingRelationshipKeyPaths = new NSArray((List) prefetchingRelationshipKeyPaths); + clone.promptsAfterFetchLimit = this.promptsAfterFetchLimit; + if (this.qualifier != null) + clone.qualifier = this.qualifier; // FIXME: probably should clone? + if (this.rawRowKeyPaths != null) + clone.rawRowKeyPaths = new NSArray((List) this.rawRowKeyPaths); + clone.refreshesRefetchedObjects = this.refreshesRefetchedObjects; + clone.requiresAllQualifierBindingVariables = this.requiresAllQualifierBindingVariables; + if (this.sortOrderings != null) + clone.sortOrderings = new NSArray((List) this.sortOrderings); + clone.distinct = this.distinct; + + return clone; + } + + /** + * Returns the name of the entity fetched by this fetch spec. + */ + public String entityName() { + return entityName; + } + + /** + * Returns the current fetch limit. A fetch limit of zero indicates no fetch + * limit. Zero is the default. + */ + public int fetchLimit() { + return fetchLimit; + } + + /** + * Returns whether this fetch spec will fetch raw rows. Default is false. + */ + public boolean fetchesRawRows() { + return fetchesRawRows; + } + + /** + * Returns a fetch specification that resolves the bindings in the specified + * map. + */ + public EOFetchSpecification fetchSpecificationWithQualifierBindings(Map aBindingMap) { + throw new WotonomyException("Not implemented yet"); + } + + /** + * Returns a Map containing the hints used by this fetch specification, or null + * if no hints have been specified. + */ + public NSDictionary hints() { + if (hints == null) + return null; + return new NSDictionary((NSDictionary) hints); + } + + /** + * Returns whether entities related to the primary entities are fetched by this + * fetch spec. If true, all relationships whose destinations meet the qualifier + * criteria will be returned in addition to primary results. If false, only the + * primary entities will be returned. Default is true. + */ + public boolean isDeep() { + return deep; + } + + /** + * Returns whether this data source should lock objects that are fetched. + * Default is false. + */ + public boolean locksObjects() { + return locksObjects; + } + + /*** + * Returns a List of relationships for the fetched objects that should also be + * fetched, or null if no such list has been specified. Use this to avoid + * additional calls to the server to fetch relationships that you know you will + * use. NOTE: wotonomy allows you to specify non-relational keys as well. + */ + public NSArray prefetchingRelationshipKeyPaths() { + return prefetchingRelationshipKeyPaths; + } + + /** + * Returns whether the user should be prompted to continue when the fetch limit + * has been exceeded. Default is false. + */ + public boolean promptsAfterFetchLimit() { + return promptsAfterFetchLimit; + } + + /** + * Returns the qualifier used by this fetch specification, or null if none has + * been specified. + */ + public EOQualifier qualifier() { + return qualifier; + } + + /** + * Returns a List of keys or key paths for which values should be returned when + * fetching raw rows, or null if no raw row key paths have been specified. + */ + public NSArray rawRowKeyPaths() { + return rawRowKeyPaths; + } + + /** + * Returns whether fetched objects should replace modified versions already + * fetched into an editing context. If true, those changes will be lost. Default + * is false. + */ + public boolean refreshesRefetchedObjects() { + return refreshesRefetchedObjects; + } + + /** + * Returns whether all qualifier bindings must be specified in order to fetch. + * If true, an exception is thrown if unspecified bindings exist. If false, + * unspecified bindings will be removed from the qualifier. Default is false. + */ + public boolean requiresAllQualifierBindingVariables() { + return requiresAllQualifierBindingVariables; + } + + /** + * Sets the name of the entity fetched by this spec. + */ + public void setEntityName(String aName) { + entityName = aName; + } + + /** + * Sets whether this fetch spec will return raw rows. + */ + public void setFetchesRawRows(boolean shouldFetchRawRows) { + fetchesRawRows = shouldFetchRawRows; + } + + /** + * Sets the limit on the number of records returned for this fetch spec. Zero + * indicates no limit on fetches. + */ + public void setFetchLimit(int aLimit) { + fetchLimit = aLimit; + } + + /** + * Sets the hints passed by this fetch spec. + */ + public void setHints(Map aHintMap) { + if (aHintMap == null) { + hints = null; + } else { + hints = new NSDictionary((Map) aHintMap); + } + } + + /** + * Sets whether this fetch specification fetches deeply. + */ + public void setIsDeep(boolean isDeep) { + deep = isDeep; + } + + /** + * Sets whether this fetch spec locks objects that are returned by the fetch. + */ + public void setLocksObjects(boolean shouldLockObjects) { + locksObjects = shouldLockObjects; + } + + /** + * Sets the prefetch key paths that should be used as an optimization hint to + * the server. NOTE: wotonomy allows you to specify non-relationship keys as + * well. + */ + public void setPrefetchingRelationshipKeyPaths(List aKeyPathList) { + if (aKeyPathList == null) { + prefetchingRelationshipKeyPaths = null; + } else { + prefetchingRelationshipKeyPaths = new NSArray((List) aKeyPathList); + } + } + + /** + * Sets whether the user should be prompted when the fetch limit has been + * reached. + */ + public void setPromptsAfterFetchLimit(boolean shouldPrompt) { + promptsAfterFetchLimit = shouldPrompt; + } + + /** + * Sets the qualifier used by this fetch specification. + */ + public void setQualifier(EOQualifier aQualifier) { + qualifier = aQualifier; + } + + /** + * Sets the key paths to be returned if this fetch spec is returning raw rows. + */ + public void setRawRowKeyPaths(List aKeyPathList) { + if (aKeyPathList == null) { + rawRowKeyPaths = null; + } else { + rawRowKeyPaths = new NSArray((List) aKeyPathList); + } + } + + /** + * Sets whether modified objects in an editing context should be replaced by + * newer versions returned by this fetch spec. + */ + public void setRefreshesRefetchedObjects(boolean shouldRefresh) { + refreshesRefetchedObjects = shouldRefresh; + } + + /** + * Sets whether this fetch spec should require all bindings to be resolved + * before executing. + */ + public void setRequiresAllQualifierBindingVariables(boolean shouldRequireAll) { + requiresAllQualifierBindingVariables = shouldRequireAll; + } + + /** + * Sets the sort orderings used by this fetch spec. + */ + public void setSortOrderings(List aSortList) { + if (aSortList == null) { + sortOrderings = null; + } else { + sortOrderings = new NSArray((List) aSortList); + } + } + + /** + * Sets whether this fetch spec should return only distinct objects. + */ + public void setUsesDistinct(boolean shouldUseDistinct) { + distinct = shouldUseDistinct; + } + + /** + * Returns a List of the sort orderings used by this fetch spec, or null if none + * have been specified. + */ + public NSArray sortOrderings() { + return sortOrderings; + } + + /** + * Returns a string representation of this fetch specification. + */ + public String toString() { + return "[FetchSpecification:qualifier=(" + qualifier + "),sortOrderings=" + sortOrderings + "]"; + } + + /** + * Returns whether this fetch specification will return only one reference to + * each distinct object returned by the fetch. Default is false. + */ + public boolean usesDistinct() { + return distinct; + } public void encodeWithKeyValueArchiver(EOKeyValueArchiver arch) { arch.encodeObject("EOFetchSpecification", "class"); arch.encodeObject(entityName(), "entityName"); arch.encodeInt(fetchLimit(), "fetchLimit"); - //flags + // flags if (isDeep()) arch.encodeObject("YES", "isDeep"); arch.encodeObject(qualifier(), "qualifier"); @@ -479,11 +418,11 @@ public class EOFetchSpecification implements EOKeyValueArchiving { if (usesDistinct()) arch.encodeObject("YES", "usesDistinct"); - //encode arrays - if (sortOrderings() != null) { + // encode arrays + if (sortOrderings() != null) { NSMutableArray arr = new NSMutableArray(sortOrderings().count()); for (int i = 0; i < sortOrderings.count(); i++) { - EOSortOrdering so = (EOSortOrdering)sortOrderings().objectAtIndex(i); + EOSortOrdering so = (EOSortOrdering) sortOrderings().objectAtIndex(i); EOKeyValueArchiver ar2 = new EOKeyValueArchiver(); so.encodeWithKeyValueArchiver(ar2); arr.addObject(ar2.dictionary()); @@ -500,18 +439,18 @@ public class EOFetchSpecification implements EOKeyValueArchiving { public static Object decodeWithKeyValueUnarchiver(EOKeyValueUnarchiver unarch) { EOFetchSpecification fs = new EOFetchSpecification(); - fs.setEntityName((String)unarch.decodeObjectForKey("entityName")); + fs.setEntityName((String) unarch.decodeObjectForKey("entityName")); fs.setFetchLimit(unarch.decodeIntForKey("fetchLimit")); fs.setIsDeep(unarch.decodeBoolForKey("isDeep")); fs.setRefreshesRefetchedObjects(unarch.decodeBoolForKey("refreshesRefetchedObjects")); - //Sort orderings - NSArray arr = (NSArray)unarch.decodeObjectForKey("sortOrderings"); - if (arr != null && arr.count() > 0) { + // Sort orderings + NSArray arr = (NSArray) unarch.decodeObjectForKey("sortOrderings"); + if (arr != null && arr.count() > 0) { NSMutableArray orderings = new NSMutableArray(arr.count()); for (int i = 0; i < arr.count(); i++) { - NSDictionary so = (NSDictionary)arr.objectAtIndex(i); - String selname = (String)so.objectForKey("selectorName"); + NSDictionary so = (NSDictionary) arr.objectAtIndex(i); + String selname = (String) so.objectForKey("selectorName"); NSSelector selector = EOSortOrdering.CompareAscending; if (selname.startsWith("compareDescending")) selector = EOSortOrdering.CompareDescending; @@ -519,47 +458,43 @@ public class EOFetchSpecification implements EOKeyValueArchiving { selector = EOSortOrdering.CompareCaseInsensitiveAscending; else if (selname.startsWith("compareCaseInsensitiveDescending")) selector = EOSortOrdering.CompareCaseInsensitiveDescending; - EOSortOrdering eoso = new EOSortOrdering((String)so.objectForKey("key"), selector); + EOSortOrdering eoso = new EOSortOrdering((String) so.objectForKey("key"), selector); orderings.addObject(eoso); } fs.setSortOrderings(orderings); } - //raw rows - arr = (NSArray)unarch.decodeObjectForKey("rawRowKeyPaths"); + // raw rows + arr = (NSArray) unarch.decodeObjectForKey("rawRowKeyPaths"); if (arr != null && arr.count() > 0) { fs.setFetchesRawRows(true); fs.setRawRowKeyPaths(arr); } - //qualifier - fs.setQualifier((EOQualifier)unarch.decodeObjectForKey("qualifier")); + // qualifier + fs.setQualifier((EOQualifier) unarch.decodeObjectForKey("qualifier")); return fs; } } /* - * $Log$ - * Revision 1.2 2006/02/16 16:47:14 cgruber - * Move some classes in to "internal" packages and re-work imports, etc. + * $Log$ Revision 1.2 2006/02/16 16:47:14 cgruber Move some classes in to + * "internal" packages and re-work imports, etc. * - * Also use UnsupportedOperationExceptions where appropriate, instead of WotonomyExceptions. + * Also use UnsupportedOperationExceptions where appropriate, instead of + * WotonomyExceptions. * - * Revision 1.1 2006/02/16 13:19:57 cgruber - * Check in all sources in eclipse-friendly maven-enabled packages. + * Revision 1.1 2006/02/16 13:19:57 cgruber Check in all sources in + * eclipse-friendly maven-enabled packages. * - * Revision 1.4 2003/08/11 18:19:01 chochos - * encoding/decoding with EOKeyValueArchiving now works properly + * Revision 1.4 2003/08/11 18:19:01 chochos encoding/decoding with + * EOKeyValueArchiving now works properly * - * Revision 1.3 2003/08/09 01:22:20 chochos - * implements EOKeyValueArchiving (and unarchiving) + * Revision 1.3 2003/08/09 01:22:20 chochos implements EOKeyValueArchiving (and + * unarchiving) * - * Revision 1.2 2001/11/24 17:32:57 mpowers - * We now have a real implementation. + * Revision 1.2 2001/11/24 17:32:57 mpowers We now have a real implementation. * - * Revision 1.1 2001/02/05 03:45:37 mpowers - * Starting work on EOEditingContext. + * Revision 1.1 2001/02/05 03:45:37 mpowers Starting work on EOEditingContext. * * */ - - |
