JavaParser Source Viewer

Home|JavaParser/com/github/javaparser/printer/concretesyntaxmodel/CsmMix.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;
29import java.util.stream.Collectors;
30
31/**
32 * A group of elements that could be in any order.
33 */
34public class CsmMix implements CsmElement {
35    private List<CsmElementelements;
36
37    public CsmMix(List<CsmElementelements) {
38        if (elements == null) {
39            throw new NullPointerException();
40        }
41        if (elements.stream().anyMatch(Objects::isNull)) {
42            throw new IllegalArgumentException("Null element in the mix");
43        }
44        this.elements = elements;
45    }
46
47    public List<CsmElementgetElements() {
48        return elements;
49    }
50
51    @Override
52    public void prettyPrint(Node nodeSourcePrinter printer) {
53        elements.forEach(e -> e.prettyPrint(nodeprinter));
54    }
55
56    @Override
57    public boolean equals(Object o) {
58        if (this == o) return true;
59        if (o == null || getClass() != o.getClass()) return false;
60
61        CsmMix csmMix = (CsmMixo;
62
63        return elements != null ? elements.equals(csmMix.elements) : csmMix.elements == null;
64    }
65
66    @Override
67    public int hashCode() {
68        return elements != null ? elements.hashCode() : 0;
69    }
70
71    @Override
72    public String toString() {
73        return elements.stream().map(e -> e.toString()).collect(Collectors.joining(",""CsmMix[""]"));
74    }
75}
76
MembersX
CsmMix:hashCode
CsmMix:equals:Block:csmMix
CsmMix:elements
CsmMix:toString
CsmMix:equals
CsmMix:getElements
CsmMix:prettyPrint
CsmMix:CsmMix
Members
X