is-monitor/is-monitor-frontend/src/app/is-model/reference/properties/PropagationConstraint.ts

46 lines
795 B
TypeScript

import { Property } from './Property';
export enum RemoveConstraint {
/*
* When the source Entity is removed also the target
* Entity is removed but if and only if the latter has no other
* incoming Relation.
*/
cascadeWhenOrphan,
/*
* When the source Entity is removed also the target
* Entity is removed.
*/
cascade,
/*
* When the source Entity is removed the target Entity
* is keep.
*/
keep
}
export enum AddConstraint {
propagate,
unpropagate
}
export class PropagationConstraint extends Property {
remove: RemoveConstraint;
add: AddConstraint;
constructor(remove: RemoveConstraint, add: AddConstraint){
super();
this.remove = remove;
this.add = add;
}
}