view app/relation-type.ts @ 40:896ae7eefb33

fix relation type queries.
author casties
date Mon, 15 Feb 2016 11:10:08 +0100
parents 7578b21cdf2e
children
line wrap: on
line source


export var invLabelPrefix = '<- ';
export var invNamePrefix = '-';
export var rawLabelPrefix = '(';
export var rawLabelPostfix = ')';

export class RelationType {
    public name: string;
    public relType: string;
    public label: string;
    public outgoing: boolean;
    
    constructor (relType: string, isOutgoing: boolean, label?:string) {
        this.outgoing = isOutgoing;
        this.relType = relType;
        if (isOutgoing) {
            this.name = relType;
        } else {
            this.name = invNamePrefix + relType;
        }
        if (label != null) {
            this.label = label;
        } else {
            // create label using name
            if (isOutgoing) {
                this.label = rawLabelPrefix + relType + rawLabelPostfix;
            } else {
                this.label = rawLabelPrefix + invLabelPrefix + relType + rawLabelPostfix;
            }
        }
    }
    
    getLabel() {
        return this.label;
    }

    getName() {
        return this.name;
    }
    
    getRelType() {
        return this.relType;
    }
    
    isOutgoing() {
        return this.outgoing;
    }
}