Le definizioni di evento ereditano le proprietà dei loro parent.
Per impostazione predefinita, una definizione di evento eredita le descrizioni delle
proprietà e degli elementi dati estesi del proprio parent. Tuttavia, una
definizione di evento child può sovrascrivere queste descrizioni ereditate, sempre tenendo
presente determinate limitazioni. Quando si aggiunge una definizione di evento al catalogo eventi, il catalogo verifica che la nuova definizione di evento non viola le regole che governano l'eredità; se viene rilevata una violazione, viene generata un'eccezione InheritanceNotValidException. Allo stesso modo, se si sostituisce una
definizione dell'evento esistente che ha discendenti, il catalogo eventi verifica la
validità delle relazioni di eredità ed emette un'eccezione InheritanceNotValidException
se una di queste relazioni non è più valida. In entrambi i casi, la nuova definizione
dell'evento non viene aggiunta al catalogo a meno che le relazioni di eredità non
siano valide.
Una definizione di evento può esistere in uno di questi due formati:
non risolta e
risolta:
- Una definizione di evento non risolta comprende soltanto le definizioni di proprietà e le
descrizioni degli elementi dati estesi definite all'interno della definizione
dell'evento stessa.
- Una definizione di evento risolta comprende i dati presenti nella definizione di evento non risolta oltre
alle definizioni di proprietà e alle descrizione degli elementi dati estesi che eredita.
Sovrascrittura delle descrizioni di proprietà ereditate
Una
definizione child eredita ogni descrizione di proprietà dalla corrispondente definizione
parent senza alcuna modifica, a meno che non disponga già di una descrizione di proprietà
definita localmente dello stesso nome e percorso (tale caso è significativo). Se il child
dispone di una descrizione di proprietà dello stesso nome e percorso, i campi della
descrizione child possono sovrascrivere i campi della descrizione parent nel modo
seguente:
- Valore predefinito
- La descrizione child può sovrascrivere il valore predefinito specificato dalla
descrizione di
proprietà parent. Se il child non specifica alcun valore predefinito, eredita il valore
dal parent.
- Obbligatorio o facoltativo
- Il child sovrascrive sempre il parent. Tuttavia, se il parent definisce una proprietà
come obbligatoria, anche il child deve specificare quella proprietà come obbligatoria.
Non è possibile ridefinire una proprietà obbligatoria ereditata come facoltativa.
- Valori consentiti o valori massimi o minimi
- Se il parent definisce i valori consentiti o i valori massimi o minimi, il child può
sovrascrivere tali valori specificando o i valori consentiti o i valori massimi e minimi.
Nota: una definizione di evento può contenere soltanto valori consentiti o valori
massimi e minimi, non entrambi:
- Se il parent definisce i valori massimi o minimi, ma il child
definisce i valori consentiti, i valori massimi e minimi definiti dal parent vengono
ignorati.
- Se il parent definisce valori consentiti, ma il child definisce valori massimi e
minimi, i valori consentiti definiti dal parent vengono ignorati.
- Se il parent definisce soltanto un valore massimo, ma il child definisce soltanto un
valore minimo, il child eredita il valore massimo definito dal parent.
- Se il child non specifica valori consentiti o valori massimi e minimi, vengono
ereditati i valori specificati dal parent.
Sovrascrittura delle descrizioni degli elementi dati estesi
ereditate
Una definizione di evento child eredita ogni descrizione dell'elemento dati
estesi dalla corrispondente definizione parent senza alcune modifica, a meno che non
disponga già di una descrizione dell'elemento dati estesi definita localmente dello
stesso nome. Se il child non dispone di una descrizione dell'elemento dati estesi dello
stesso nome, i campi della descrizione child possono sovrascrivere i campi
della descrizione parent nel modo seguente:
- Tipo
- Il child deve specificare lo stesso tipo del parent.
- Ricorrenza minima
- Il child sovrascrive sempre il parent.
- Ricorrenza massima
- Il child sovrascrive sempre il parent.
- Valori predefiniti
- Il child può sovrascrivere i valori predefiniti specificati dalla descrizione
dell'elemento dati estesi del parent. Se il child non specifica alcun valore predefinito,
eredita il valore dal parent.
- Valore esadecimale predefinito
- Il child può sovrascrivere il valore esadecimale specificato dalla descrizione
dell'elemento dati estesi del parent. Se il child non specifica un valore esadecimale
predefinito, eredita il valore dal parent.
- Descrizione elemento dati estesi nidificata
- Il child può sovrascrivere una descrizione dell'elemento dati estesi nidificata
definendo una descrizione nidificata dello stesso nome. Se il child sovrascrive
una descrizione nidificata ereditata, le stesse regole si applicano alla
sovrascrittura di singoli campi.
Se il child non specifica una descrizione dell'elemento dati estesi nidificata con lo
stesso nome, eredita la descrizione nidificata dal parent.