JavaParser Source Viewer

Home|JavaParser/com/github/javaparser/printer/lexicalpreservation/Removed.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.lexicalpreservation;
23
24import com.github.javaparser.ast.Node;
25import com.github.javaparser.ast.type.PrimitiveType;
26import com.github.javaparser.printer.concretesyntaxmodel.CsmElement;
27import com.github.javaparser.printer.concretesyntaxmodel.CsmToken;
28
29public class Removed implements DifferenceElement {
30    private final CsmElement element;
31
32    Removed(CsmElement element) {
33        this.element = element;
34    }
35
36    @Override
37    public String toString() {
38        return "Removed{" + element + '}';
39    }
40
41    @Override
42    public boolean equals(Object o) {
43        if (this == o) return true;
44        if (o == null || getClass() != o.getClass()) return false;
45
46        Removed removed = (Removedo;
47
48        return element.equals(removed.element);
49    }
50
51    @Override
52    public int hashCode() {
53        return element.hashCode();
54    }
55
56    @Override
57    public CsmElement getElement() {
58        return element;
59    }
60
61    public Node getChild() {
62        if (isChild()) {
63            LexicalDifferenceCalculator.CsmChild csmChild = (LexicalDifferenceCalculator.CsmChildelement;
64            return csmChild.getChild();
65        }
66
67        throw new IllegalStateException("Removed is not a " + LexicalDifferenceCalculator.CsmChild.class.getSimpleName());
68    }
69
70    public int getTokenType() {
71        if (isToken()) {
72            CsmToken csmToken = (CsmTokenelement;
73            return csmToken.getTokenType();
74        }
75
76        throw new IllegalStateException("Removed is not a " + CsmToken.class.getSimpleName());
77    }
78
79    @Override
80    public boolean isAdded() {
81        return false;
82    }
83
84    public boolean isToken() { return element instanceof CsmToken; }
85
86    public boolean isChild() { return element instanceof LexicalDifferenceCalculator.CsmChild; }
87
88    public boolean isPrimitiveType() {
89        if (isChild()) {
90            LexicalDifferenceCalculator.CsmChild csmChild = (LexicalDifferenceCalculator.CsmChildelement;
91            return csmChild.getChild() instanceof PrimitiveType;
92        }
93
94        return false;
95    }
96
97    public boolean isWhiteSpace() {
98        if(isToken()) {
99            CsmToken csmToken = (CsmTokenelement;
100            return csmToken.isWhiteSpace();
101        }
102
103        return false;
104    }
105
106    @Override
107    public boolean isRemoved() {
108        return true;
109    }
110    
111    public boolean isNewLine() {
112        if(isToken()) {
113            CsmToken csmToken = (CsmTokenelement;
114            return csmToken.isNewLine();
115        }
116
117        return false;
118    }
119}
120
MembersX
Removed:isAdded
Removed:toString
Removed:isRemoved
Removed:isWhiteSpace:Block:Block:csmToken
Removed:Removed
Removed:getElement
Removed:getChild
Removed:getTokenType
Removed:getTokenType:Block:Block:csmToken
Removed:isToken
Removed:isNewLine:Block:Block:csmToken
Removed:equals:Block:removed
Removed:getChild:Block:Block:csmChild
Removed:hashCode
Removed:equals
Removed:isPrimitiveType:Block:Block:csmChild
Removed:isPrimitiveType
Removed:isWhiteSpace
Removed:element
Removed:isChild
Removed:isNewLine
Members
X