Skip to main content

Class: abstract StructuralModel

Base class for structural models.

Extends

Extended by

Constructors

new StructuralModel()

protected new StructuralModel(state: Readonly<StructuralModelState>): StructuralModel

Parameters

ParameterType
stateReadonly<StructuralModelState>

Returns

StructuralModel

Overrides

AbstractModel.constructor

Defined in

packages/verse-core/src/model/model.ts:372

Accessors

allProperties

get allProperties(): List<PropertyModel>

Returns

List<PropertyModel>

Defined in

packages/verse-core/src/model/model.ts:401


klass

get klass(): Newable<unknown>

Returns

Newable<unknown>

Defined in

packages/verse-core/src/model/model.ts:393


name

get name(): string

Returns

string

Defined in

packages/verse-core/src/model/model.ts:380


parent

get parent(): Model

Returns the parent model element.

Returns

Model

The parent model element.

Overrides

AbstractModel.parent

Defined in

packages/verse-core/src/model/model.ts:477


properties

get properties(): List<PropertyModel>

Returns

List<PropertyModel>

Defined in

packages/verse-core/src/model/model.ts:397


scalars

get scalars(): List<ScalarPropertyModel>

Returns

List<ScalarPropertyModel>

Defined in

packages/verse-core/src/model/model.ts:425


scalarsAndValues

get scalarsAndValues(): List<ScalarPropertyModel | ValueObjectPropertyModel>

Returns

List<ScalarPropertyModel | ValueObjectPropertyModel>

Defined in

packages/verse-core/src/model/model.ts:437


state

get protected state(): Readonly<StructuralModelState>

Returns

Readonly<StructuralModelState>

Defined in

packages/verse-core/src/model/model.ts:473


values

get values(): List<ValueObjectPropertyModel>

Returns

List<ValueObjectPropertyModel>

Defined in

packages/verse-core/src/model/model.ts:431

Methods

accept()

abstract accept<T, S>(visitor: ModelVisitor<T, S>, state?: S): T

Accepts a visitor and returns the result of visiting this model element.

Type Parameters

Type ParameterDefault type
T-
Sunknown

Parameters

ParameterTypeDescription
visitorModelVisitor<T, S>The visitor to accept.
state?SAn optional state to pass to the visitor.

Returns

T

The result of visiting this model element.

Inherited from

AbstractModel.accept

Defined in

packages/verse-core/src/model/model.ts:41


equals()

equals(other: unknown): boolean

Checks if the current object is equal to the provided object.

Parameters

ParameterTypeDescription
otherunknownThe object to compare with.

Returns

boolean

Whether the objects are equal or not.

Overrides

AbstractModel.equals

Defined in

packages/verse-core/src/model/model.ts:488


hashCode()

hashCode(): number

Returns the hash code of this object.

Returns

number

The hash code.

Overrides

AbstractModel.hashCode

Defined in

packages/verse-core/src/model/model.ts:497


rewrite()

rewrite(rewriter: ModelRewriter): AbstractModel

Rewrite method for processing a given model with a rewriter.

Parameters

ParameterTypeDescription
rewriterModelRewriterThe rewriter to use for rewriting the model.

Returns

AbstractModel

The rewritten model.

Inherited from

AbstractModel.rewrite

Defined in

packages/verse-core/src/model/model.ts:55


scalar()

scalar(name: string): ScalarPropertyModel

Parameters

ParameterType
namestring

Returns

ScalarPropertyModel

Defined in

packages/verse-core/src/model/model.ts:441


scalarFlatMap()

scalarFlatMap<T>(action: (path: ScalarPropertyPath) => T): List<T>

Type Parameters

Type ParameterDefault type
TScalarPropertyPath

Parameters

ParameterType
action(path: ScalarPropertyPath) => T

Returns

List<T>

Defined in

packages/verse-core/src/model/model.ts:451


toJSON()

toJSON(): string

Returns a JSON representation of this model element.

Returns

string

The JSON representation.

Inherited from

AbstractModel.toJSON

Defined in

packages/verse-core/src/model/model.ts:82


toObject()

toObject(): {name: string;properties: object[]; }

Returns this instance as a plain object.

Returns

{name: string;properties: object[]; }

The plain object.

name

name: string

properties

properties: object[]

Overrides

AbstractModel.toObject

Defined in

packages/verse-core/src/model/model.ts:481


withName()

withName(name: string): any

Parameters

ParameterType
namestring

Returns

any

Defined in

packages/verse-core/src/model/model.ts:384


withProperties()

abstract protected withProperties(properties: List<PropertyModel>): StructuralModel

Parameters

ParameterType
propertiesList<PropertyModel>

Returns

StructuralModel

Defined in

packages/verse-core/src/model/model.ts:423


withProperty()

withProperty(property: PropertyModel): StructuralModel

Parameters

ParameterType
propertyPropertyModel

Returns

StructuralModel

Defined in

packages/verse-core/src/model/model.ts:405