Creating Suite Definitions and Suite Terminology

Previous | Chapter contents | Next | Book PDF

Suite Definition Example

The following example is the Core suite ( NSCoreSuite.scriptSuite ) provided by the Yellow Box frameworks. This file has probably changed since its inclusion in this document; you can obtain an updated version of this file in /System/Library/Frameworks/Scripting.framework/Resources .

The AbstractObject class specifies a base class that your scriptable classes can inherit from; the "Abstract" prefix indicates that an application should never export instances of the class.


{
    "Name" = "NSCoreSuite";
    "AppleEventCode" = "core";
    
    "Classes" = {
        "AbstractObject" = {
            "Attributes" = {
                "className" = {
                    "Type" = "NSString";
                    "AppleEventCode" = "pcnm";
                    "ReadOnly" = "YES";
                };
                "classCode" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "pcls";
		              "ReadOnly" = "YES";
                };
            };
            "SupportedCommands" = {
                "NSCoreSuite.Get" = "";
                "NSCoreSuite.Count" = "";
                "NSCoreSuite.Exists" = "";
                "NSCoreSuite.Move" = "";
                "NSCoreSuite.Copy" = "";
                "NSCoreSuite.Create" = "";
                "NSCoreSuite.Delete" = "";
                "NSCoreSuite.Set" = "";
            };
            "AppleEventCode" = "cobj";
        };
        "NSApplication" = {
            "Superclass" = "NSCoreSuite.AbstractObject";
            "Attributes" = {
                "name" = {
                    "Type" = "NSString";
                    "AppleEventCode" = "pnam";
		               "ReadOnly" = "YES";
                };
                "isActive" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "pisf";
		               "ReadOnly" = "YES";
                };
                "version" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "vers";
		               "ReadOnly" = "YES";
                };
            };
            "ToManyRelationships" = {
                "orderedDocuments" = {
                    "Type" = "NSDocument";
                    "AppleEventCode" = "docu";
		               "ReadOnly" = "YES";
                };
                "orderedWindows" = {
                    "Type" = "NSWindow";
                    "AppleEventCode" = "cwin";
		               "ReadOnly" = "YES";
                };
            };
            "AppleEventCode" = "capp";
        };
        "NSDocument" = {
            "Superclass" = "NSCoreSuite.AbstractObject";
            "Attributes" = {
                "lastComponentOfFileName" = {
                    "Type" = "NSString";
                    "AppleEventCode" = "pnam";
                };
                "fileName" = {
                    "Type" = "NSString";
                    "AppleEventCode" = "ppth";
                };
                "isDocumentEdited" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "imod";
		               "ReadOnly" = "YES";
                };
            };
            "SupportedCommands" = {
                "NSCoreSuite.Print" = "";
                "NSCoreSuite.Save" = "handleSaveScriptCommand:";
                "NSCoreSuite.Close" = "handleCloseScriptCommand:";
            };
            "AppleEventCode" = "docu";
        };
        "NSWindow" = {
            "Superclass" = "NSCoreSuite.AbstractObject";
            "Attributes" = {
                "hasCloseBox" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "hclb";
		               "ReadOnly" = "YES";
                };
                "hasTitleBar" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "ptit";
		               "ReadOnly" = "YES";
                };
                "orderedIndex" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "pidx";
                };
                "isFloatingPanel" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "isfl";
		               "ReadOnly" = "YES";
                };
                "isModalPanel" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "pmod";
		               "ReadOnly" = "YES";
                };
                "isResizable" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "prsz";
		               "ReadOnly" = "YES";
                };
                "isZoomable" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "iszm";
		               "ReadOnly" = "YES";
                };
                "isZoomed" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "pzum";
                };
                "isMiniaturizable" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "ismn";
		               "ReadOnly" = "YES";
                };
                "isMiniaturized" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "pmin";
                };
                "title" = {
                    "Type" = "NSString";
                    "AppleEventCode" = "pnam";
                };
                "isVisible" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "pvis";
                };
            };
            "ToOneRelationships" = {
                "document" = {
                    "Type" = "NSDocument";
                    "AppleEventCode" = "docu";
		               "ReadOnly" = "YES";
                };
            };
            "AppleEventCode" = "cwin";
        };

	"NSColor" = {
            "Superclass" = "NSCoreSuite.AbstractObject";
            "AppleEventCode" = "colr";
	};
    };

    "Commands" = {
        "Get" = {
            "CommandClass" = "NSGetCommand";
            "Type" = "NSObject";
	          "ResultAppleEventCode" = "****";
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "getd";
        };
        "Set" = {
            "CommandClass" = "NSSetCommand";
            "Type" = "";
            "Arguments" = {
                "Value" = {
                    "Type" = "NSObject";
                    "AppleEventCode" = "data";
                };
            };
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "setd";
        };
        "Count" = {
            "CommandClass" = "NSCountCommand";
            "Type" = "NSObject";
	          "ResultAppleEventCode" = "****";
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "cnte";
        };
        "Exists" = {
            "CommandClass" = "NSExistsCommand";
            "Type" = "NSObject";
	          "ResultAppleEventCode" = "****";
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "doex";
        };
        "Delete" = {
            "CommandClass" = "NSDeleteCommand";
            "Type" = "";
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "delo";
        };
        "Move" = {
            "CommandClass" = "NSMoveCommand";
            "Type" = "";
            "Arguments" = {
                "ToLocation" = {
                    "Type" = "NSPositionalReference";
                    "AppleEventCode" = "insh";
                };
            };
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "move";
        };
        "Copy" = {
            "CommandClass" = "NSCopyCommand";
            "Type" = "";
            "Arguments" = {
                "ToLocation" = {
                    "Type" = "NSPositionalReference";
                    "AppleEventCode" = "insh";
                };
            };
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "clon";
        };
        "Create" = {
            "CommandClass" = "NSCreateCommand";
            "Type" = "NSObjectReference";
	          "ResultAppleEventCode" = "obj ";
            "Arguments" = {
                "Location" = {
                    "Type" = "NSPositionalReference";
                    "AppleEventCode" = "insh";
                };
                "ObjectClass" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "kocl";
                };
                "ObjectData" = {
                    "Type" = "NSObject";
                    "AppleEventCode" = "data";
		               "Optional" = "YES";
                };
                "KeyDictionary" = {
                    "Type" = "NSDictionary";
                    "AppleEventCode" = "prdt";
		               "Optional" = "YES";
                };
            };
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "crel";
        };
        "Save" = {
            "CommandClass" = "NSScriptCommand";
            "Type" = "";
            "Arguments" = {
                "File" = {
                    "Type" = "NSString";
                    "AppleEventCode" = "kfil";
		               "Optional" = "YES";
                };
                "FileType" = {
                    "Type" = "NSString";
                    "AppleEventCode" = "fltp";
		               "Optional" = "YES";
                };
            };
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "save";
        };
        "Close" = {
            "CommandClass" = "NSScriptCommand";
            "Type" = "";
            "Arguments" = {
                "File" = {
                    "Type" = "NSString";
                    "AppleEventCode" = "kfil";
		               "Optional" = "YES";
                };
                "SaveOptions" = {
                    "Type" = "NSNumber";
                    "AppleEventCode" = "savo";
		               "Optional" = "YES";
                };
            };
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "clos";
        };
        "Open" = {
            "CommandClass" = "NSScriptCommand";
            "Type" = "";
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "odoc";
        };
        "Print" = {
            "CommandClass" = "NSScriptCommand";
            "Type" = "";
            "AppleEventClassCode" = "core";
            "AppleEventCode" = "pdoc";
        };
    };
}


Creating Suite Definitions and Suite Terminology

Previous | Chapter contents | Next | Book PDF