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

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

The newest version!
package com.structurizr.dsl;

import com.structurizr.model.Element;
import com.structurizr.model.Model;
import com.structurizr.util.StringUtils;

import java.util.HashSet;
import java.util.Set;

class ElementGroup extends Element {

    private Element parent;
    private final ElementGroup parentGroup;
    private final String name;

    private final Set elements = new HashSet<>();

    ElementGroup(String name) {
        this.name = name;
        this.parentGroup = null;
    }

    ElementGroup(String name, String groupSeparator, ElementGroup parentGroup) {
        this.name = parentGroup.getName() + groupSeparator + name;
        this.parentGroup = parentGroup;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public String getCanonicalName() {
        return name;
    }

    void setParent(Element parent) {
        this.parent = parent;
    }

    @Override
    public Element getParent() {
        return parent;
    }

    @Override
    public Set getDefaultTags() {
        return null;
    }

    void addElement(Element element) {
        elements.add(element);

        if (parentGroup != null) {
            parentGroup.addElement(element);
        }
    }

    Set getElements() {
        return new HashSet<>(elements);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy