GeoKnow/Jassa-Core

View on GitHub
lib/sparql/expr/ExprString.js

Summary

Maintainability
A
0 mins
Test Coverage
var Class = require('../../ext/Class');
var SparqlString = require('../SparqlString');
var Expr = require('./Expr');

var ExprString = Class.create(Expr, {
    classLabel: 'jassa.sparql.ExprString',
    initialize: function(sparqlString) {
        this.sparqlString = sparqlString;
    },

    copySubstitute: function(fnNodeMap) {
        var newSparqlString = this.sparqlString.copySubstitute(fnNodeMap);
        return new ExprString(newSparqlString);
    },

    getVarsMentioned: function() {
        return this.sparqlString.getVarsMentioned();
    },

    getArgs: function() {
        return [];
    },

    copy: function(args) {
        if (args.length !== 0) {
            throw new Error('Invalid argument');
        }

        return this;
    },

    toString: function() {
        return '(!' + this.expr + ')';
    },

    create: function(str, varNames) {
        var result = new ExprString(SparqlString.create(str, varNames));
        return result;
    },
});

module.exports = ExprString;