// Path: cssdroid/src/main/java/com/manolovn/cssdroid/parser/visitor/NodeVisitor.java
// public interface NodeVisitor {
// 
//     void visit(FunctionNode node);
// 
//     void visit(PropertyNode node);
// 
//     void visit(SelectorNode node);
// 
//     void visit(ValueNode node);
// 
//     void visit(VariableNode node);
// 
// }


import com.manolovn.cssdroid.parser.visitor.NodeVisitor;
import java.util.ArrayList;
import java.util.List;
package com.manolovn.cssdroid.parser.domain;



/**
 * SelectorNode entity
 */
public class SelectorNode implements Node {

    private final String name;
    private final List<Node> properties;

    public SelectorNode(String name) {
        this.name = name;
        this.properties = new ArrayList<>();
    }

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

    @Override
    public String getValue() {
        return properties.toString();
    }

    @Override
    public void addChild(Node node) {
        if (node == null) {
            return;
        }
        properties.add(node);
    }

    @Override
    public List<Node> children() {
        return properties;
    }

    @Override
// Path: cssdroid/src/main/java/com/manolovn/cssdroid/parser/visitor/NodeVisitor.java
// public interface NodeVisitor {
// 
//     void visit(FunctionNode node);
// 
//     void visit(PropertyNode node);
// 
//     void visit(SelectorNode node);
// 
//     void visit(ValueNode node);
// 
//     void visit(VariableNode node);
// 
// }


// Path: cssdroid/src/main/java/com/manolovn/cssdroid/parser/domain/SelectorNode.java
import com.manolovn.cssdroid.parser.visitor.NodeVisitor;
import java.util.ArrayList;
import java.util.List;

package com.manolovn.cssdroid.parser.domain;



/**
 * SelectorNode entity
 */
public class SelectorNode implements Node {

    private final String name;
    private final List<Node> properties;

    public SelectorNode(String name) {
        this.name = name;
        this.properties = new ArrayList<>();
    }

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

    @Override
    public String getValue() {
        return properties.toString();
    }

    @Override
    public void addChild(Node node) {
        if (node == null) {
            return;
        }
        properties.add(node);
    }

    @Override
    public List<Node> children() {
        return properties;
    }

    @Override
    public void accept(NodeVisitor visitor) {