All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.structurizr.dsl.ModelItemsParser Maven / Gradle / Ivy

The newest version!
package com.structurizr.dsl;

import com.structurizr.model.ModelItem;

final class ModelItemsParser extends AbstractParser {

    private final static int TAGS_INDEX = 1;
    private final static int URL_INDEX = 1;

    void parseTags(ModelItemsDslContext context, Tokens tokens) {
        // tags  [tags]
        if (!tokens.includes(TAGS_INDEX)) {
            throw new RuntimeException("Expected: tags  [tags]");
        }

        for (int i = TAGS_INDEX; i < tokens.size(); i++) {
            String tags = tokens.get(i);

            for (ModelItem modelItem : context.getModelItems()) {
                modelItem.addTags(tags.split(","));
            }
        }
    }

    void parseUrl(ModelItemsDslContext context, Tokens tokens) {
        // url 
        if (tokens.hasMoreThan(URL_INDEX)) {
            throw new RuntimeException("Too many tokens, expected: url ");
        }

        if (!tokens.includes(URL_INDEX)) {
            throw new RuntimeException("Expected: url ");
        }

        String url = tokens.get(URL_INDEX);
        for (ModelItem modelItem : context.getModelItems()) {
            modelItem.setUrl(url);
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy