• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

evolvedbinary / elemental / 982

29 Apr 2025 08:34PM UTC coverage: 56.409% (+0.007%) from 56.402%
982

push

circleci

adamretter
[feature] Improve README.md badges

28451 of 55847 branches covered (50.94%)

Branch coverage included in aggregate %.

77468 of 131924 relevant lines covered (58.72%)

0.59 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

30.0
/exist-core/src/main/java/org/exist/xquery/AbstractPragma.java
1
/*
2
 * Elemental
3
 * Copyright (C) 2024, Evolved Binary Ltd
4
 *
5
 * admin@evolvedbinary.com
6
 * https://www.evolvedbinary.com | https://www.elemental.xyz
7
 *
8
 * Use of this software is governed by the Business Source License 1.1
9
 * included in the LICENSE file and at www.mariadb.com/bsl11.
10
 *
11
 * Change Date: 2028-04-27
12
 *
13
 * On the date above, in accordance with the Business Source License, use
14
 * of this software will be governed by the Apache License, Version 2.0.
15
 *
16
 * Additional Use Grant: Production use of the Licensed Work for a permitted
17
 * purpose. A Permitted Purpose is any purpose other than a Competing Use.
18
 * A Competing Use means making the Software available to others in a commercial
19
 * product or service that: substitutes for the Software; substitutes for any
20
 * other product or service we offer using the Software that exists as of the
21
 * date we make the Software available; or offers the same or substantially
22
 * similar functionality as the Software.
23
 */
24
package org.exist.xquery;
25

26
import org.exist.dom.QName;
27
import org.exist.xquery.util.ExpressionDumper;
28
import org.exist.xquery.value.Item;
29
import org.exist.xquery.value.Sequence;
30

31
import javax.annotation.Nullable;
32

33
/**
34
 * Base class for implementing an XQuery Pragma expression.
35
 *
36
 * @author <a href="mailto:adam@evolvedbinary.com">Adam Retter</a>
37
 */
38
public abstract class AbstractPragma implements Pragma {
39
    private final QName name;
40
    private @Nullable final String contents;
41
    private @Nullable final Expression expression;
42

43
    public AbstractPragma(@Nullable final Expression expression, final QName name, @Nullable final String contents) {
1✔
44
        this.expression = expression;
1✔
45
        this.name = name;
1✔
46
        this.contents = contents;
1✔
47
    }
1✔
48

49
    @Override
50
    public QName getName() {
51
        return name;
×
52
    }
53

54
    public @Nullable Expression getExpression() {
55
        return expression;
×
56
    }
57

58
    @Override
59
    public void analyze(final AnalyzeContextInfo contextInfo) throws XPathException {
60
        // no-op by default
61
    }
1✔
62

63
    @Override
64
    public void before(final XQueryContext context, @Nullable final Expression expression, final Sequence contextSequence) throws XPathException {
65
        // no-op by default
66
    }
1✔
67

68
    @Override
69
    public Sequence eval(final Sequence contextSequence, final Item contextItem) throws XPathException {
70
        // no-op by default
71
        return null;
1✔
72
    }
73

74
    @Override
75
    public void after(final XQueryContext context, @Nullable final Expression expression) throws XPathException {
76
        // no-op by default
77
    }
×
78

79
    protected @Nullable String getContents() {
80
        return contents;
×
81
    }
82

83
    @Override
84
    public void dump(final ExpressionDumper dumper) {
85
        dumper.display("(# " + getName().getStringValue());
×
86
        if (getContents() != null) {
×
87
            dumper.display(' ').display(getContents());
×
88
        }
89
    }
×
90

91
    @Override
92
    public void resetState(final boolean postOptimization) {
93
        //no-op by default
94
    }
1✔
95

96
    @Override
97
    public String toString() {
98
        final StringBuilder builder = new StringBuilder();
×
99
        builder.append("(# ");
×
100
        builder.append(name);
×
101
        if (contents != null && !contents.isEmpty()) {
×
102
            builder.append(' ').append(contents);
×
103
        }
104
        builder.append("#)");
×
105
        return builder.toString();
×
106
    }
107
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc