// Copyright (c) 2006 DMTF. All rights reserved. // Add top level relational model // support to the database model. // Add UmlPackagePath // qualifier values to CIM Schema. // =================================================================== // CIM_SqlUserDefinedType // =================================================================== [Experimental, Version ( "2.12.0" ), UMLPackagePath ( "CIM::Database::Sql" ), Description ( "A user-defined type is a schema object, identified by a . The definition of a userdefined type " "specifies a number of components, including in particular a " "list of attribute definitions. Although the attribute " "definitions are said to define the representation of the " "user-defined type, in fact they implicitly define certain " "functions (observers and mutators) that are part of the " "interface of the user-defined type; physical representations " "of user-defined type values are implementation-dependent. \n" "\n" "The representation of a user-defined type is expressed either " "as a single data type (some predefined data type, called the " "source type), in which case the user-defined type is said to " "be a distinct type, or as a list of attribute definitions, in " "which case it is said to be a structured type. \n" "\n" "A user-defined type is described by a user-defined type " "descriptor. A user-defined type descriptor contains: \n" "- The name of the user-defined type (). This is the type designator of that type, used in type " "precedence lists. \n" "- An indication of whether the user-defined type is a " "structured type or a distinct type. \n" "- The ordering form for the user-defined type (EQUALS, FULL, " "or NONE). \n" "- The ordering category for the user-defined type (RELATIVE, " "MAP, or STATE). \n" "- A identifying the ordering " "function, depending on the ordering category. \n" "- If the user-defined type is a direct subtype of another user " "-defined type, then the name of that user-defined type. \n" "- If the representation is a predefined data type, then the " "descriptor of that type; otherwise the attribute descriptor of " "every originally-defined attribute and every inherited " "attribute of the user-defined type. \n" "- An indication of whether the user-defined type is " "instantiable or not instantiable. \n" "- An indication of whether the user-defined type is final or " "not final. \n" "- The transform descriptor of the user-defined type. \n" "- If the user-defined type is a structured type, then: \n" "- Whether the referencing type of the structured type has a " "user -defined representation, a derived representation, or a " "system -defined representation. \n" "- If user-defined representation is specified, then the type " "descriptor of the representation type of the referencing type " "of the structured type; otherwise, if derived representation " "is specified, then the list of attributes. \n" "- If the is specified, then for " "each contained in , a method specification descriptor that includes: \n" "- The . \n" "- The . \n" "- The augmented to include " "the implicit first parameter with parameter name SELF. \n" "- The . \n" "- If the is not SQL, then the . \n" "- The . \n" "- The , if any. \n" "- An indication as to whether the is an " " or an . \n" "- If the is an , then an indication of whether STATIC or " "CONSTRUCTOR is specified. \n" "- An indication whether the method is deterministic. \n" "- An indication whether the method possibly writes SQL data, " "possibly reads SQL data, possibly contains SQL, or does not " "possibly contain SQL. \n" "- An indication whether the method should not be invoked if " "any argument is the null value, in which case the value of the " "method is the null value." )] class CIM_SqlUserDefinedType : CIM_SqlObject { };