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

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

The newest version!
package com.structurizr.dsl;

import com.structurizr.component.ComponentFinderBuilder;
import com.structurizr.component.ComponentFinderStrategyBuilder;

final class ComponentFinderStrategyDslContext extends DslContext {

    private final ComponentFinderBuilder componentFinderBuilder;
    private final ComponentFinderStrategyBuilder componentFinderStrategyBuilder = new ComponentFinderStrategyBuilder();

    ComponentFinderStrategyDslContext(ComponentFinderBuilder componentFinderBuilder) {
        this.componentFinderBuilder = componentFinderBuilder;
    }

    @Override
    protected String[] getPermittedTokens() {
        return new String[] {
            StructurizrDslTokens.COMPONENT_FINDER_STRATEGY_TECHNOLOGY_TOKEN,
            StructurizrDslTokens.COMPONENT_FINDER_STRATEGY_MATCHER_TOKEN,
            StructurizrDslTokens.COMPONENT_FINDER_STRATEGY_FILTER_TOKEN,
            StructurizrDslTokens.COMPONENT_FINDER_STRATEGY_SUPPORTING_TYPES_TOKEN,
            StructurizrDslTokens.COMPONENT_FINDER_STRATEGY_NAME_TOKEN,
            StructurizrDslTokens.COMPONENT_FINDER_STRATEGY_FOREACH_TOKEN
        };
    }

    ComponentFinderStrategyBuilder getComponentFinderStrategyBuilder() {
        return this.componentFinderStrategyBuilder;
    }

    @Override
    void end() {
        componentFinderBuilder.withStrategy(componentFinderStrategyBuilder.build());
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy