// Copyright (c) 2007 DMTF.  All rights reserved.
//===============
//Meta Qualifiers
//===============

Qualifier Association : boolean = false, 
    Scope(association), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Indication : boolean = false, 
    Scope(class, indication), 
    Flavor(DisableOverride, ToSubclass);

//===================
//Standard Qualifiers
//===================

Qualifier Abstract : boolean = false, 
    Scope(class, association, indication), 
    Flavor(EnableOverride, Restricted);

Qualifier Aggregate : boolean = false, 
    Scope(reference), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Aggregation : boolean = false, 
    Scope(association), 
    Flavor(DisableOverride, ToSubclass);

Qualifier ArrayType : string = "Bag", 
    Scope(property, parameter), 
    Flavor(DisableOverride, ToSubclass);

Qualifier BitMap : string[], 
    Scope(property, method, parameter);

Qualifier BitValues : string[], 
    Scope(property, method, parameter), 
    Flavor(EnableOverride, ToSubclass, Translatable);

Qualifier ClassConstraint : string[], 
    Scope(class, association, indication);

Qualifier Composition : boolean = false, 
    Scope(association), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Correlatable : string[], 
    Scope(property);

Qualifier Counter : boolean = false, 
    Scope(property, method, parameter);

Qualifier Deprecated : string[], 
    Scope(any), 
    Flavor(EnableOverride, Restricted);

Qualifier Description : string = null, 
    Scope(any), 
    Flavor(EnableOverride, ToSubclass, Translatable);

Qualifier DisplayName : string = null, 
    Scope(any), 
    Flavor(EnableOverride, ToSubclass, Translatable);

Qualifier DN : boolean = false, 
    Scope(property, method, parameter), 
    Flavor(DisableOverride, ToSubclass);

Qualifier EmbeddedInstance : string = null, 
    Scope(property, method, parameter);

Qualifier EmbeddedObject : boolean = false, 
    Scope(property, method, parameter), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Exception : boolean = false, 
    Scope(class, indication), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Experimental : boolean = false, 
    Scope(any), 
    Flavor(EnableOverride, Restricted);

Qualifier Gauge : boolean = false, 
    Scope(property, method, parameter);

Qualifier In : boolean = true, 
    Scope(parameter), 
    Flavor(DisableOverride, ToSubclass);

Qualifier IsPUnit : boolean = false, 
    Scope(property, method, parameter);

Qualifier Key : boolean = false, 
    Scope(property, reference), 
    Flavor(DisableOverride, ToSubclass);

Qualifier MappingStrings : string[], 
    Scope(any);

Qualifier Max : uint32 = null, 
    Scope(reference);

Qualifier MaxLen : uint32 = null, 
    Scope(property, method, parameter);

Qualifier MaxValue : sint64 = null, 
    Scope(property, method, parameter);

Qualifier MethodConstraint : string[], 
    Scope(method);

Qualifier Min : uint32 = 0, 
    Scope(reference);

Qualifier MinLen : uint32 = 0, 
    Scope(property, method, parameter);

Qualifier MinValue : sint64 = null, 
    Scope(property, method, parameter);

Qualifier ModelCorrespondence : string[], 
    Scope(any);

Qualifier NullValue : string = null, 
    Scope(property), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Octetstring : boolean = false, 
    Scope(property, method, parameter), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Out : boolean = false, 
    Scope(parameter), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Override : string = null, 
    Scope(property, reference, method), 
    Flavor(EnableOverride, Restricted);

Qualifier Propagated : string = null, 
    Scope(property), 
    Flavor(DisableOverride, ToSubclass);

Qualifier PropertyConstraint : string[], 
    Scope(property, reference);

Qualifier PUnit : string = null, 
    Scope(property, method, parameter);

Qualifier Read : boolean = true, 
    Scope(property);

Qualifier Reference : string = null, 
    Scope(property);

Qualifier Required : boolean = false, 
    Scope(property, reference, method, parameter), 
    Flavor(DisableOverride, ToSubclass);

//  The Revision qualifier has been deprecated. For the replacement,
//  see the usage rule for the version qualifier in the CIM
//  Specification.

Qualifier Revision : string = null, 
    Scope(class, association, indication), 
    Flavor(EnableOverride, ToSubclass, Translatable);

// Deprecated

Qualifier Schema : string = null, 
    Scope(property, method), 
    Flavor(DisableOverride, ToSubclass, Translatable);

Qualifier Static : boolean = false, 
    Scope(property, method), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Structure : boolean = false, 
    Scope(class, indication), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Terminal : boolean = false, 
    Scope(class, association, indication);

Qualifier UMLPackagePath : string = null, 
    Scope(class, association, indication);

// Deprecated

Qualifier Units : string = null, 
    Scope(property, method, parameter), 
    Flavor(EnableOverride, ToSubclass, Translatable);

Qualifier ValueMap : string[], 
    Scope(property, method, parameter);

Qualifier Values : string[], 
    Scope(property, method, parameter), 
    Flavor(EnableOverride, ToSubclass, Translatable);

Qualifier Version : string = null, 
    Scope(class, association, indication), 
    Flavor(EnableOverride, Restricted, Translatable);

Qualifier Weak : boolean = false, 
    Scope(reference), 
    Flavor(DisableOverride, ToSubclass);

Qualifier Write : boolean = false, 
    Scope(property);

Qualifier XMLNamespaceName : string = null, 
    Scope(property, method, parameter);

