1 /*global $k*/ 2 3 /** 4 * @namespace Global object registry API for accessing objects by internal name / ID 5 **/ 6 $k.Registry = { 7 /** 8 * Returns the semantic element with an attribute with the specified value, or undefined if there is either no such attribute or more than one 9 * 10 * @function 11 * @param {string} internalName The internal name of the attribute 12 * @param {string} value The value to search for 13 * @param {string} [language] Language of the value. If not defined, the current language will be used. 14 * Ignored if the attribute is not translated 15 * @returns {$k.SemanticElement} 16 * @throws {$k.exception.InvalidValue} If the value is not in the range of allowed values of the attribute 17 **/ 18 elementAtValue: function(internalName, value, language) { }, 19 20 /** 21 * Get the semantic element with the element ID 22 * 23 * @function 24 * @param {string} id 25 * @returns {$k.SemanticElement} 26 * @throws {$k.exception.ObjectNotFound} If no element with the ID exists 27 * @throws {$k.exception.InvalidValue} If the ID is not valid 28 * @see $k.SemanticElement#idNumber 29 * @see $k.SemanticElement#idString 30 **/ 31 elementWithID: function(id) { }, 32 33 /** 34 * Get the registered folder 35 * 36 * @function 37 * @param {string} folderID Registered ID 38 * @returns {$k.Folder} 39 * @throws {$k.exception.ObjectNotFound} If no folder with the ID exists 40 **/ 41 folder: function(folderID) { }, 42 43 /** 44 * Get the registered query 45 * 46 * @function 47 * @param {string} queryID Registered ID 48 * @returns {$k.Query} 49 * @throws {$k.exception.ObjectNotFound} If no expert query with the ID exists 50 **/ 51 query: function(queryID) { }, 52 53 /** 54 * Returns all registered folders 55 * 56 * @function 57 * @returns {$k.Folder[]} 58 **/ 59 registeredFolders: function() { }, 60 61 /** 62 * Get the registered folder element with the ID from the registry 63 * 64 * @function 65 * @deprecated Use specific registry accessors, like <code>query()</code> or <code>folder()</code> 66 * @param {string} registryType Name of the registry. Corresponds to the value returned by registryType() 67 * @param {string} objectID 68 * @returns {object} 69 * @throws {$k.exception.ObjectNotFound} If no object with the ID exists 70 * @see $k.FolderElement#registryType 71 **/ 72 registeredObject: function(registryType, objectID) { }, 73 74 /** 75 * Returns all registered queries 76 * 77 * @function 78 * @returns {$k.Query[]} 79 **/ 80 registeredQueries: function() { }, 81 82 /** 83 * Returns all registered semantic collections 84 * 85 * @function 86 * @returns {$k.SemanticCollection[]} 87 **/ 88 registeredSemanticCollections: function() { }, 89 90 /** 91 * Get the registered semantic collection 92 * 93 * @function 94 * @param {string} collectionID Registered ID 95 * @returns {$k.SemanticCollection} 96 * @throws {$k.exception.ObjectNotFound} If no topic collection with the ID exists 97 **/ 98 semanticCollection: function(collectionID) { }, 99 100 /** 101 * Gets the type with the internal name 102 * 103 * @function 104 * @param {string} type The internal name of the type 105 * @returns {$k.Type} The type identified by the internal name 106 * @throws {$k.exception.ObjectNotFound} If no such type exists 107 **/ 108 type: function(type) { } 109 };