Package com.crashnote.core.config.helper

Examples of com.crashnote.core.config.helper.ConfigOrigin


            if (s1 == null || s2 == null) {
                throw new ConfigException.WrongType(left.origin(),
                        "Cannot concatenate object or list with a non-object-or-list, " + left
                                + " and " + right + " are not compatible");
            } else {
                final ConfigOrigin joinedOrigin = SimpleConfigOrigin.mergeOrigins(left.origin(),
                        right.origin());
                joined = new ConfigString(joinedOrigin, s1 + s2);
            }
        }
View Full Code Here


        if (consolidated.isEmpty()) {
            return null;
        } else if (consolidated.size() == 1) {
            return consolidated.get(0);
        } else {
            final ConfigOrigin mergedOrigin = SimpleConfigOrigin.mergeOrigins(consolidated);
            return new ConfigConcatenation(mergedOrigin, consolidated);
        }
    }
View Full Code Here

        // The rules here are intended to maximize convenience while
        // avoiding confusion with real valid JSON. Basically anything
        // that parses as JSON is treated the JSON way and otherwise
        // we assume it's a string and let the parser sort it out.
        private Token pullUnquotedText() {
            final ConfigOrigin origin = lineOrigin;
            final StringBuilder sb = new StringBuilder();
            int c = nextCharRaw();
            while (true) {
                if (c == -1) {
                    break;
View Full Code Here

            return Tokens.PLUS_EQUALS;
        }

        private Token pullSubstitution() throws ProblemException {
            // the initial '$' has already been consumed
            final ConfigOrigin origin = lineOrigin;
            int c = nextCharRaw();
            if (c != '{') {
                throw problem(asString(c), "'$' not followed by {, '" + asString(c)
                        + "' not allowed after '$'", true /* suggestQuotes */);
            }
View Full Code Here

            withComments = popToken();
            final Token t = withComments.token;

            if (Tokens.isProblem(t)) {
                final ConfigOrigin origin = t.origin();
                String message = Tokens.getProblemMessage(t);
                final Throwable cause = Tokens.getProblemCause(t);
                final boolean suggestQuotes = Tokens.getProblemSuggestQuotes(t);
                if (suggestQuotes) {
                    message = addQuoteSuggestion(t.toString(), message);
View Full Code Here

        }

        private AbstractConfigObject parseObject(final boolean hadOpenCurly) {
            // invoked just after the OPEN_CURLY (or START, if !hadOpenCurly)
            final Map<String, AbstractConfigValue> values = new HashMap<String, AbstractConfigValue>();
            final ConfigOrigin objectOrigin = lineOrigin();
            boolean afterComma = false;
            Path lastPath = null;
            boolean lastInsideEquals = false;

            while (true) {
View Full Code Here

            return new SimpleConfigObject(objectOrigin, values);
        }

        private SimpleConfigList parseArray() {
            // invoked just after the OPEN_SQUARE
            final ConfigOrigin arrayOrigin = lineOrigin();
            final List<AbstractConfigValue> values = new ArrayList<AbstractConfigValue>();

            consolidateValueTokens();

            TokenWithComments t = nextTokenIgnoringNewline();
View Full Code Here

        // callers can get our original options and then parse with different
        // ones if they want.
        final ConfigParseOptions options = fixupOptions(baseOptions);

        // passed-in options can override origin
        final ConfigOrigin origin;
        if (options.getOriginDescription() != null)
            origin = SimpleConfigOrigin.newSimple(options.getOriginDescription());
        else
            origin = initialOrigin;
        return parseValue(origin, options);
View Full Code Here

                if (ConfigImpl.traceLoadsEnabled())
                    trace("Loading config from URL " + url.toExternalForm() + " from class loader "
                            + loader);

                final ConfigOrigin elementOrigin = ((SimpleConfigOrigin) origin).addURL(url);

                AbstractConfigValue v;

                // it's tempting to use ParseableURL here but it would be wrong
                // because the wrong relativeTo() would be used for includes.
View Full Code Here

    protected SimpleConfigList newCopy(final ConfigOrigin newOrigin) {
        return new SimpleConfigList(newOrigin, value);
    }

    final SimpleConfigList concatenate(final SimpleConfigList other) {
        final ConfigOrigin combinedOrigin = SimpleConfigOrigin.mergeOrigins(origin(), other.origin());
        final List<AbstractConfigValue> combined = new ArrayList<AbstractConfigValue>(value.size()
                + other.value.size());
        combined.addAll(value);
        combined.addAll(other.value);
        return new SimpleConfigList(combinedOrigin, combined);
View Full Code Here

TOP

Related Classes of com.crashnote.core.config.helper.ConfigOrigin

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.