@itwin/ecschema-metadata 3.6.0-dev.8 → 3.7.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -1
- package/LICENSE.md +1 -1
- package/lib/cjs/Constants.d.ts +23 -23
- package/lib/cjs/Constants.js +33 -33
- package/lib/cjs/Constants.js.map +1 -1
- package/lib/cjs/Context.d.ts +139 -139
- package/lib/cjs/Context.js +204 -204
- package/lib/cjs/DelayedPromise.d.ts +88 -88
- package/lib/cjs/DelayedPromise.js +91 -91
- package/lib/cjs/DelayedPromise.js.map +1 -1
- package/lib/cjs/Deserialization/AbstractParser.d.ts +45 -45
- package/lib/cjs/Deserialization/AbstractParser.js +11 -11
- package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
- package/lib/cjs/Deserialization/Helper.d.ts +251 -251
- package/lib/cjs/Deserialization/Helper.js +843 -843
- package/lib/cjs/Deserialization/Helper.js.map +1 -1
- package/lib/cjs/Deserialization/JsonParser.d.ts +165 -165
- package/lib/cjs/Deserialization/JsonParser.js +680 -680
- package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
- package/lib/cjs/Deserialization/JsonProps.d.ts +282 -282
- package/lib/cjs/Deserialization/JsonProps.js +9 -9
- package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
- package/lib/cjs/Deserialization/SchemaGraphUtil.d.ts +34 -34
- package/lib/cjs/Deserialization/SchemaGraphUtil.js +77 -77
- package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
- package/lib/cjs/Deserialization/XmlParser.d.ts +85 -85
- package/lib/cjs/Deserialization/XmlParser.js +973 -973
- package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
- package/lib/cjs/Deserialization/XmlSerializationUtils.d.ts +54 -54
- package/lib/cjs/Deserialization/XmlSerializationUtils.js +174 -174
- package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
- package/lib/cjs/ECName.d.ts +30 -30
- package/lib/cjs/ECName.js +85 -85
- package/lib/cjs/ECName.js.map +1 -1
- package/lib/cjs/ECObjects.d.ts +162 -162
- package/lib/cjs/ECObjects.js +453 -453
- package/lib/cjs/ECObjects.js.map +1 -1
- package/lib/cjs/Exception.d.ts +43 -43
- package/lib/cjs/Exception.js +86 -86
- package/lib/cjs/Exception.js.map +1 -1
- package/lib/cjs/Interfaces.d.ts +66 -66
- package/lib/cjs/Interfaces.js +9 -9
- package/lib/cjs/Interfaces.js.map +1 -1
- package/lib/cjs/Metadata/Class.d.ts +243 -243
- package/lib/cjs/Metadata/Class.js +558 -558
- package/lib/cjs/Metadata/Class.js.map +1 -1
- package/lib/cjs/Metadata/Constant.d.ts +64 -64
- package/lib/cjs/Metadata/Constant.js +123 -123
- package/lib/cjs/Metadata/Constant.js.map +1 -1
- package/lib/cjs/Metadata/CustomAttribute.d.ts +23 -23
- package/lib/cjs/Metadata/CustomAttribute.js +27 -27
- package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
- package/lib/cjs/Metadata/CustomAttributeClass.d.ts +39 -39
- package/lib/cjs/Metadata/CustomAttributeClass.js +68 -68
- package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
- package/lib/cjs/Metadata/EntityClass.d.ts +77 -77
- package/lib/cjs/Metadata/EntityClass.js +230 -230
- package/lib/cjs/Metadata/EntityClass.js.map +1 -1
- package/lib/cjs/Metadata/Enumeration.d.ts +86 -86
- package/lib/cjs/Metadata/Enumeration.js +159 -159
- package/lib/cjs/Metadata/Enumeration.js.map +1 -1
- package/lib/cjs/Metadata/Format.d.ts +98 -98
- package/lib/cjs/Metadata/Format.js +242 -242
- package/lib/cjs/Metadata/Format.js.map +1 -1
- package/lib/cjs/Metadata/InvertedUnit.d.ts +49 -49
- package/lib/cjs/Metadata/InvertedUnit.js +97 -97
- package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
- package/lib/cjs/Metadata/KindOfQuantity.d.ts +65 -65
- package/lib/cjs/Metadata/KindOfQuantity.js +225 -225
- package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
- package/lib/cjs/Metadata/Mixin.d.ts +54 -54
- package/lib/cjs/Metadata/Mixin.js +113 -113
- package/lib/cjs/Metadata/Mixin.js.map +1 -1
- package/lib/cjs/Metadata/OverrideFormat.d.ts +55 -55
- package/lib/cjs/Metadata/OverrideFormat.js +88 -88
- package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
- package/lib/cjs/Metadata/Phenomenon.d.ts +33 -33
- package/lib/cjs/Metadata/Phenomenon.js +59 -59
- package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
- package/lib/cjs/Metadata/Property.d.ts +197 -197
- package/lib/cjs/Metadata/Property.js +491 -491
- package/lib/cjs/Metadata/Property.js.map +1 -1
- package/lib/cjs/Metadata/PropertyCategory.d.ts +39 -39
- package/lib/cjs/Metadata/PropertyCategory.js +61 -61
- package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
- package/lib/cjs/Metadata/RelationshipClass.d.ts +152 -152
- package/lib/cjs/Metadata/RelationshipClass.js +349 -349
- package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
- package/lib/cjs/Metadata/Schema.d.ts +291 -291
- package/lib/cjs/Metadata/Schema.js +520 -520
- package/lib/cjs/Metadata/Schema.js.map +1 -1
- package/lib/cjs/Metadata/SchemaItem.d.ts +61 -61
- package/lib/cjs/Metadata/SchemaItem.js +136 -136
- package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
- package/lib/cjs/Metadata/Unit.d.ts +76 -76
- package/lib/cjs/Metadata/Unit.js +162 -162
- package/lib/cjs/Metadata/UnitSystem.d.ts +20 -20
- package/lib/cjs/Metadata/UnitSystem.js +29 -29
- package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
- package/lib/cjs/PropertyTypes.d.ts +49 -49
- package/lib/cjs/PropertyTypes.js +91 -91
- package/lib/cjs/PropertyTypes.js.map +1 -1
- package/lib/cjs/SchemaJsonLocater.d.ts +34 -34
- package/lib/cjs/SchemaJsonLocater.js +42 -42
- package/lib/cjs/SchemaJsonLocater.js.map +1 -1
- package/lib/cjs/SchemaKey.d.ts +110 -110
- package/lib/cjs/SchemaKey.js +219 -219
- package/lib/cjs/SchemaKey.js.map +1 -1
- package/lib/cjs/SchemaLoader.d.ts +23 -23
- package/lib/cjs/SchemaLoader.js +47 -47
- package/lib/cjs/SchemaLoader.js.map +1 -1
- package/lib/cjs/SchemaPartVisitorDelegate.d.ts +274 -274
- package/lib/cjs/SchemaPartVisitorDelegate.js +212 -212
- package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
- package/lib/cjs/UnitConversion/Graph.d.ts +34 -34
- package/lib/cjs/UnitConversion/Graph.js +83 -83
- package/lib/cjs/UnitConversion/Graph.js.map +1 -1
- package/lib/cjs/UnitConversion/Parser.d.ts +8 -8
- package/lib/cjs/UnitConversion/Parser.js +42 -42
- package/lib/cjs/UnitConversion/Parser.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitConversion.d.ts +45 -45
- package/lib/cjs/UnitConversion/UnitConversion.js +77 -77
- package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitConverter.d.ts +39 -39
- package/lib/cjs/UnitConversion/UnitConverter.js +116 -116
- package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
- package/lib/cjs/UnitConversion/UnitTree.d.ts +43 -43
- package/lib/cjs/UnitConversion/UnitTree.js +169 -169
- package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
- package/lib/cjs/UnitProvider/SchemaUnitProvider.d.ts +77 -77
- package/lib/cjs/UnitProvider/SchemaUnitProvider.js +236 -236
- package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
- package/lib/cjs/Validation/SchemaWalker.d.ts +23 -23
- package/lib/cjs/Validation/SchemaWalker.js +53 -53
- package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
- package/lib/cjs/ecschema-metadata.d.ts +51 -51
- package/lib/cjs/ecschema-metadata.js +96 -96
- package/lib/cjs/ecschema-metadata.js.map +1 -1
- package/lib/cjs/utils/SchemaGraph.d.ts +25 -25
- package/lib/cjs/utils/SchemaGraph.js +65 -65
- package/lib/cjs/utils/SchemaGraph.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
/** @packageDocumentation
|
|
2
|
-
* @module Metadata
|
|
3
|
-
*/
|
|
4
|
-
import { RelationshipClassProps, RelationshipConstraintProps } from "../Deserialization/JsonProps";
|
|
5
|
-
import { ECClassModifier, RelationshipEnd, SchemaItemType, StrengthDirection, StrengthType } from "../ECObjects";
|
|
6
|
-
import { LazyLoadedRelationshipConstraintClass } from "../Interfaces";
|
|
7
|
-
import { ECClass } from "./Class";
|
|
8
|
-
import { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet } from "./CustomAttribute";
|
|
9
|
-
import { EntityClass } from "./EntityClass";
|
|
10
|
-
import { Mixin } from "./Mixin";
|
|
11
|
-
import { NavigationProperty } from "./Property";
|
|
12
|
-
import { Schema } from "./Schema";
|
|
13
|
-
/**
|
|
14
|
-
* A Typescript class representation of a ECRelationshipClass.
|
|
15
|
-
* @beta
|
|
16
|
-
*/
|
|
17
|
-
export declare class RelationshipClass extends ECClass {
|
|
18
|
-
readonly schema: Schema;
|
|
19
|
-
readonly schemaItemType: SchemaItemType.RelationshipClass;
|
|
20
|
-
protected _strength: StrengthType;
|
|
21
|
-
protected _strengthDirection: StrengthDirection;
|
|
22
|
-
protected _source: RelationshipConstraint;
|
|
23
|
-
protected _target: RelationshipConstraint;
|
|
24
|
-
constructor(schema: Schema, name: string, modifier?: ECClassModifier);
|
|
25
|
-
get strength(): StrengthType;
|
|
26
|
-
get strengthDirection(): StrengthDirection;
|
|
27
|
-
get source(): RelationshipConstraint;
|
|
28
|
-
get target(): RelationshipConstraint;
|
|
29
|
-
/**
|
|
30
|
-
*
|
|
31
|
-
* @param name
|
|
32
|
-
* @param relationship
|
|
33
|
-
* @param direction
|
|
34
|
-
*/
|
|
35
|
-
protected createNavigationProperty(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): Promise<NavigationProperty>;
|
|
36
|
-
protected createNavigationPropertySync(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): NavigationProperty;
|
|
37
|
-
/**
|
|
38
|
-
* @alpha Used for schema editing.
|
|
39
|
-
*/
|
|
40
|
-
protected setStrength(strength: StrengthType): void;
|
|
41
|
-
/**
|
|
42
|
-
* @alpha Used for schema editing.
|
|
43
|
-
*/
|
|
44
|
-
protected setStrengthDirection(direction: StrengthDirection): void;
|
|
45
|
-
/**
|
|
46
|
-
* Save this RelationshipClass's properties to an object for serializing to JSON.
|
|
47
|
-
* @param standalone Serialization includes only this object (as opposed to the full schema).
|
|
48
|
-
* @param includeSchemaVersion Include the Schema's version information in the serialized object.
|
|
49
|
-
*/
|
|
50
|
-
toJSON(standalone?: boolean, includeSchemaVersion?: boolean): RelationshipClassProps;
|
|
51
|
-
/** @internal */
|
|
52
|
-
toXml(schemaXml: Document): Promise<Element>;
|
|
53
|
-
fromJSONSync(relationshipClassProps: RelationshipClassProps): void;
|
|
54
|
-
fromJSON(relationshipClassProps: RelationshipClassProps): Promise<void>;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* A Typescript class representation of a ECRelationshipConstraint.
|
|
58
|
-
* @beta
|
|
59
|
-
*/
|
|
60
|
-
export declare class RelationshipConstraint implements CustomAttributeContainerProps {
|
|
61
|
-
protected _abstractConstraint?: LazyLoadedRelationshipConstraintClass;
|
|
62
|
-
protected _relationshipClass: RelationshipClass;
|
|
63
|
-
protected _relationshipEnd: RelationshipEnd;
|
|
64
|
-
protected _multiplicity?: RelationshipMultiplicity;
|
|
65
|
-
protected _polymorphic?: boolean;
|
|
66
|
-
protected _roleLabel?: string;
|
|
67
|
-
protected _constraintClasses?: LazyLoadedRelationshipConstraintClass[];
|
|
68
|
-
private _customAttributes?;
|
|
69
|
-
constructor(relClass: RelationshipClass, relEnd: RelationshipEnd, roleLabel?: string, polymorphic?: boolean);
|
|
70
|
-
get multiplicity(): RelationshipMultiplicity | undefined;
|
|
71
|
-
get polymorphic(): boolean | undefined;
|
|
72
|
-
get roleLabel(): string | undefined;
|
|
73
|
-
get constraintClasses(): LazyLoadedRelationshipConstraintClass[] | undefined;
|
|
74
|
-
get relationshipClass(): RelationshipClass;
|
|
75
|
-
get relationshipEnd(): RelationshipEnd;
|
|
76
|
-
get customAttributes(): CustomAttributeSet | undefined;
|
|
77
|
-
/** Returns the constraint name, ie. 'RelationshipName.Source/Target' */
|
|
78
|
-
get fullName(): string;
|
|
79
|
-
/** Returns the schema of the RelationshipClass. */
|
|
80
|
-
get schema(): Schema;
|
|
81
|
-
get abstractConstraint(): LazyLoadedRelationshipConstraintClass | undefined;
|
|
82
|
-
set abstractConstraint(abstractConstraint: LazyLoadedRelationshipConstraintClass | undefined);
|
|
83
|
-
/**
|
|
84
|
-
* True if this RelationshipConstraint is the Source relationship end.
|
|
85
|
-
*/
|
|
86
|
-
get isSource(): boolean;
|
|
87
|
-
/**
|
|
88
|
-
* Adds the provided class as a constraint class to this constraint.
|
|
89
|
-
* @param constraint The class to add as a constraint class.
|
|
90
|
-
*/
|
|
91
|
-
addClass(constraint: EntityClass | Mixin | RelationshipClass): void;
|
|
92
|
-
/**
|
|
93
|
-
* Save this RelationshipConstraint's properties to an object for serializing to JSON.
|
|
94
|
-
*/
|
|
95
|
-
toJSON(): RelationshipConstraintProps;
|
|
96
|
-
/** @internal */
|
|
97
|
-
toXml(schemaXml: Document): Promise<Element>;
|
|
98
|
-
fromJSONSync(relationshipConstraintProps: RelationshipConstraintProps): void;
|
|
99
|
-
fromJSON(relationshipConstraintProps: RelationshipConstraintProps): Promise<void>;
|
|
100
|
-
/**
|
|
101
|
-
* Indicates if the provided [[ECClass]] is supported by this [[RelationshipConstraint]].
|
|
102
|
-
* @param ecClass The class to check.
|
|
103
|
-
*/
|
|
104
|
-
supportsClass(ecClass: ECClass): Promise<boolean>;
|
|
105
|
-
/**
|
|
106
|
-
* Indicates if an ECClass is of the type or applies to the type (if a mixin) of the ECClass specified by the constraintClass parameter.
|
|
107
|
-
* @param constraintClass The ECClass that is a constraint class of a relationship.
|
|
108
|
-
* @param testClass The ECClass to check against the constraint class.
|
|
109
|
-
* @param isPolymorphic Indicates if the testClass should be checked polymorphically.
|
|
110
|
-
*/
|
|
111
|
-
static classCompatibleWithConstraint(constraintClass: ECClass, testClass: ECClass, isPolymorphic: boolean): Promise<boolean>;
|
|
112
|
-
/**
|
|
113
|
-
* @internal
|
|
114
|
-
*/
|
|
115
|
-
static isRelationshipConstraint(object: any): object is RelationshipConstraint;
|
|
116
|
-
protected addCustomAttribute(customAttribute: CustomAttribute): void;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Hackish approach that works like a "friend class" so we can access protected members without making them public.
|
|
120
|
-
* @internal
|
|
121
|
-
*/
|
|
122
|
-
export declare abstract class MutableRelationshipConstraint extends RelationshipConstraint {
|
|
123
|
-
abstract addCustomAttribute(customAttribute: CustomAttribute): void;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* @beta
|
|
127
|
-
*/
|
|
128
|
-
export declare class RelationshipMultiplicity {
|
|
129
|
-
static readonly zeroOne: RelationshipMultiplicity;
|
|
130
|
-
static readonly zeroMany: RelationshipMultiplicity;
|
|
131
|
-
static readonly oneOne: RelationshipMultiplicity;
|
|
132
|
-
static readonly oneMany: RelationshipMultiplicity;
|
|
133
|
-
readonly lowerLimit: number;
|
|
134
|
-
readonly upperLimit: number;
|
|
135
|
-
constructor(lowerLimit: number, upperLimit: number);
|
|
136
|
-
static fromString(str: string): RelationshipMultiplicity | undefined;
|
|
137
|
-
equals(rhs: RelationshipMultiplicity): boolean;
|
|
138
|
-
toString(): string;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* @internal
|
|
142
|
-
* An abstract class used for schema editing.
|
|
143
|
-
*/
|
|
144
|
-
export declare abstract class MutableRelationshipClass extends RelationshipClass {
|
|
145
|
-
get source(): MutableRelationshipConstraint;
|
|
146
|
-
get target(): MutableRelationshipConstraint;
|
|
147
|
-
abstract setStrength(strength: StrengthType): void;
|
|
148
|
-
abstract setStrengthDirection(direction: StrengthDirection): void;
|
|
149
|
-
abstract createNavigationProperty(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): Promise<NavigationProperty>;
|
|
150
|
-
abstract createNavigationPropertySync(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): NavigationProperty;
|
|
151
|
-
abstract setDisplayLabel(displayLabel: string): void;
|
|
152
|
-
}
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Metadata
|
|
3
|
+
*/
|
|
4
|
+
import { RelationshipClassProps, RelationshipConstraintProps } from "../Deserialization/JsonProps";
|
|
5
|
+
import { ECClassModifier, RelationshipEnd, SchemaItemType, StrengthDirection, StrengthType } from "../ECObjects";
|
|
6
|
+
import { LazyLoadedRelationshipConstraintClass } from "../Interfaces";
|
|
7
|
+
import { ECClass } from "./Class";
|
|
8
|
+
import { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet } from "./CustomAttribute";
|
|
9
|
+
import { EntityClass } from "./EntityClass";
|
|
10
|
+
import { Mixin } from "./Mixin";
|
|
11
|
+
import { NavigationProperty } from "./Property";
|
|
12
|
+
import { Schema } from "./Schema";
|
|
13
|
+
/**
|
|
14
|
+
* A Typescript class representation of a ECRelationshipClass.
|
|
15
|
+
* @beta
|
|
16
|
+
*/
|
|
17
|
+
export declare class RelationshipClass extends ECClass {
|
|
18
|
+
readonly schema: Schema;
|
|
19
|
+
readonly schemaItemType: SchemaItemType.RelationshipClass;
|
|
20
|
+
protected _strength: StrengthType;
|
|
21
|
+
protected _strengthDirection: StrengthDirection;
|
|
22
|
+
protected _source: RelationshipConstraint;
|
|
23
|
+
protected _target: RelationshipConstraint;
|
|
24
|
+
constructor(schema: Schema, name: string, modifier?: ECClassModifier);
|
|
25
|
+
get strength(): StrengthType;
|
|
26
|
+
get strengthDirection(): StrengthDirection;
|
|
27
|
+
get source(): RelationshipConstraint;
|
|
28
|
+
get target(): RelationshipConstraint;
|
|
29
|
+
/**
|
|
30
|
+
*
|
|
31
|
+
* @param name
|
|
32
|
+
* @param relationship
|
|
33
|
+
* @param direction
|
|
34
|
+
*/
|
|
35
|
+
protected createNavigationProperty(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): Promise<NavigationProperty>;
|
|
36
|
+
protected createNavigationPropertySync(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): NavigationProperty;
|
|
37
|
+
/**
|
|
38
|
+
* @alpha Used for schema editing.
|
|
39
|
+
*/
|
|
40
|
+
protected setStrength(strength: StrengthType): void;
|
|
41
|
+
/**
|
|
42
|
+
* @alpha Used for schema editing.
|
|
43
|
+
*/
|
|
44
|
+
protected setStrengthDirection(direction: StrengthDirection): void;
|
|
45
|
+
/**
|
|
46
|
+
* Save this RelationshipClass's properties to an object for serializing to JSON.
|
|
47
|
+
* @param standalone Serialization includes only this object (as opposed to the full schema).
|
|
48
|
+
* @param includeSchemaVersion Include the Schema's version information in the serialized object.
|
|
49
|
+
*/
|
|
50
|
+
toJSON(standalone?: boolean, includeSchemaVersion?: boolean): RelationshipClassProps;
|
|
51
|
+
/** @internal */
|
|
52
|
+
toXml(schemaXml: Document): Promise<Element>;
|
|
53
|
+
fromJSONSync(relationshipClassProps: RelationshipClassProps): void;
|
|
54
|
+
fromJSON(relationshipClassProps: RelationshipClassProps): Promise<void>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A Typescript class representation of a ECRelationshipConstraint.
|
|
58
|
+
* @beta
|
|
59
|
+
*/
|
|
60
|
+
export declare class RelationshipConstraint implements CustomAttributeContainerProps {
|
|
61
|
+
protected _abstractConstraint?: LazyLoadedRelationshipConstraintClass;
|
|
62
|
+
protected _relationshipClass: RelationshipClass;
|
|
63
|
+
protected _relationshipEnd: RelationshipEnd;
|
|
64
|
+
protected _multiplicity?: RelationshipMultiplicity;
|
|
65
|
+
protected _polymorphic?: boolean;
|
|
66
|
+
protected _roleLabel?: string;
|
|
67
|
+
protected _constraintClasses?: LazyLoadedRelationshipConstraintClass[];
|
|
68
|
+
private _customAttributes?;
|
|
69
|
+
constructor(relClass: RelationshipClass, relEnd: RelationshipEnd, roleLabel?: string, polymorphic?: boolean);
|
|
70
|
+
get multiplicity(): RelationshipMultiplicity | undefined;
|
|
71
|
+
get polymorphic(): boolean | undefined;
|
|
72
|
+
get roleLabel(): string | undefined;
|
|
73
|
+
get constraintClasses(): LazyLoadedRelationshipConstraintClass[] | undefined;
|
|
74
|
+
get relationshipClass(): RelationshipClass;
|
|
75
|
+
get relationshipEnd(): RelationshipEnd;
|
|
76
|
+
get customAttributes(): CustomAttributeSet | undefined;
|
|
77
|
+
/** Returns the constraint name, ie. 'RelationshipName.Source/Target' */
|
|
78
|
+
get fullName(): string;
|
|
79
|
+
/** Returns the schema of the RelationshipClass. */
|
|
80
|
+
get schema(): Schema;
|
|
81
|
+
get abstractConstraint(): LazyLoadedRelationshipConstraintClass | undefined;
|
|
82
|
+
set abstractConstraint(abstractConstraint: LazyLoadedRelationshipConstraintClass | undefined);
|
|
83
|
+
/**
|
|
84
|
+
* True if this RelationshipConstraint is the Source relationship end.
|
|
85
|
+
*/
|
|
86
|
+
get isSource(): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Adds the provided class as a constraint class to this constraint.
|
|
89
|
+
* @param constraint The class to add as a constraint class.
|
|
90
|
+
*/
|
|
91
|
+
addClass(constraint: EntityClass | Mixin | RelationshipClass): void;
|
|
92
|
+
/**
|
|
93
|
+
* Save this RelationshipConstraint's properties to an object for serializing to JSON.
|
|
94
|
+
*/
|
|
95
|
+
toJSON(): RelationshipConstraintProps;
|
|
96
|
+
/** @internal */
|
|
97
|
+
toXml(schemaXml: Document): Promise<Element>;
|
|
98
|
+
fromJSONSync(relationshipConstraintProps: RelationshipConstraintProps): void;
|
|
99
|
+
fromJSON(relationshipConstraintProps: RelationshipConstraintProps): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Indicates if the provided [[ECClass]] is supported by this [[RelationshipConstraint]].
|
|
102
|
+
* @param ecClass The class to check.
|
|
103
|
+
*/
|
|
104
|
+
supportsClass(ecClass: ECClass): Promise<boolean>;
|
|
105
|
+
/**
|
|
106
|
+
* Indicates if an ECClass is of the type or applies to the type (if a mixin) of the ECClass specified by the constraintClass parameter.
|
|
107
|
+
* @param constraintClass The ECClass that is a constraint class of a relationship.
|
|
108
|
+
* @param testClass The ECClass to check against the constraint class.
|
|
109
|
+
* @param isPolymorphic Indicates if the testClass should be checked polymorphically.
|
|
110
|
+
*/
|
|
111
|
+
static classCompatibleWithConstraint(constraintClass: ECClass, testClass: ECClass, isPolymorphic: boolean): Promise<boolean>;
|
|
112
|
+
/**
|
|
113
|
+
* @internal
|
|
114
|
+
*/
|
|
115
|
+
static isRelationshipConstraint(object: any): object is RelationshipConstraint;
|
|
116
|
+
protected addCustomAttribute(customAttribute: CustomAttribute): void;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Hackish approach that works like a "friend class" so we can access protected members without making them public.
|
|
120
|
+
* @internal
|
|
121
|
+
*/
|
|
122
|
+
export declare abstract class MutableRelationshipConstraint extends RelationshipConstraint {
|
|
123
|
+
abstract addCustomAttribute(customAttribute: CustomAttribute): void;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* @beta
|
|
127
|
+
*/
|
|
128
|
+
export declare class RelationshipMultiplicity {
|
|
129
|
+
static readonly zeroOne: RelationshipMultiplicity;
|
|
130
|
+
static readonly zeroMany: RelationshipMultiplicity;
|
|
131
|
+
static readonly oneOne: RelationshipMultiplicity;
|
|
132
|
+
static readonly oneMany: RelationshipMultiplicity;
|
|
133
|
+
readonly lowerLimit: number;
|
|
134
|
+
readonly upperLimit: number;
|
|
135
|
+
constructor(lowerLimit: number, upperLimit: number);
|
|
136
|
+
static fromString(str: string): RelationshipMultiplicity | undefined;
|
|
137
|
+
equals(rhs: RelationshipMultiplicity): boolean;
|
|
138
|
+
toString(): string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* @internal
|
|
142
|
+
* An abstract class used for schema editing.
|
|
143
|
+
*/
|
|
144
|
+
export declare abstract class MutableRelationshipClass extends RelationshipClass {
|
|
145
|
+
get source(): MutableRelationshipConstraint;
|
|
146
|
+
get target(): MutableRelationshipConstraint;
|
|
147
|
+
abstract setStrength(strength: StrengthType): void;
|
|
148
|
+
abstract setStrengthDirection(direction: StrengthDirection): void;
|
|
149
|
+
abstract createNavigationProperty(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): Promise<NavigationProperty>;
|
|
150
|
+
abstract createNavigationPropertySync(name: string, relationship: string | RelationshipClass, direction: string | StrengthDirection): NavigationProperty;
|
|
151
|
+
abstract setDisplayLabel(displayLabel: string): void;
|
|
152
|
+
}
|
|
153
153
|
//# sourceMappingURL=RelationshipClass.d.ts.map
|