JavaParser Source Viewer

Home|JavaParser/com/github/javaparser/printer/concretesyntaxmodel/CsmSequence.java
1/*
2 * Copyright (C) 2007-2010 JĂșlio Vilmar Gesser.
3 * Copyright (C) 2011, 2013-2020 The JavaParser Team.
4 *
5 * This file is part of JavaParser.
6 *
7 * JavaParser can be used either under the terms of
8 * a) the GNU Lesser General Public License as published by
9 *     the Free Software Foundation, either version 3 of the License, or
10 *     (at your option) any later version.
11 * b) the terms of the Apache License
12 *
13 * You should have received a copy of both licenses in LICENCE.LGPL and
14 * LICENCE.APACHE. Please refer to those files for details.
15 *
16 * JavaParser is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 * GNU Lesser General Public License for more details.
20 */
21
22package com.github.javaparser.printer.concretesyntaxmodel;
23
24import com.github.javaparser.ast.Node;
25import com.github.javaparser.printer.SourcePrinter;
26
27import java.util.List;
28import java.util.Objects;
29
30public class CsmSequence implements CsmElement {
31    private List<CsmElementelements;
32
33    public CsmSequence(List<CsmElementelements) {
34        if (elements == null) {
35            throw new NullPointerException();
36        }
37        if (elements.stream().anyMatch(Objects::isNull)) {
38            throw new IllegalArgumentException("Null element in the sequence");
39        }
40        this.elements = elements;
41    }
42
43    public List<CsmElementgetElements() {
44        return elements;
45    }
46
47    @Override
48    public void prettyPrint(Node nodeSourcePrinter printer) {
49        elements.forEach(e -> e.prettyPrint(nodeprinter));
50    }
51}
52
MembersX
CsmSequence:prettyPrint
CsmSequence:elements
CsmSequence:CsmSequence
CsmSequence:getElements
Members
X