JavaParser Source Viewer

Home|JavaParser/com/github/javaparser/ast/type/ReferenceType.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 */
21package com.github.javaparser.ast.type;
22
23import com.github.javaparser.TokenRange;
24import com.github.javaparser.ast.AllFieldsConstructor;
25import com.github.javaparser.ast.Node;
26import com.github.javaparser.ast.NodeList;
27import com.github.javaparser.ast.expr.AnnotationExpr;
28import com.github.javaparser.ast.visitor.CloneVisitor;
29import com.github.javaparser.metamodel.JavaParserMetaModel;
30import com.github.javaparser.metamodel.ReferenceTypeMetaModel;
31import com.github.javaparser.ast.Generated;
32import java.util.function.Consumer;
33import java.util.Optional;
34
35/**
36 * Base class for reference types.
37 *
38 * @author Julio Vilmar Gesser
39 */
40public abstract class ReferenceType extends Type {
41
42    public ReferenceType() {
43        this(null, new NodeList<>());
44    }
45
46    @AllFieldsConstructor
47    public ReferenceType(NodeList<AnnotationExprannotations) {
48        this(nullannotations);
49    }
50
51    /**
52     * This constructor is used by the parser and is considered private.
53     */
54    @Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator")
55    public ReferenceType(TokenRange tokenRangeNodeList<AnnotationExprannotations) {
56        super(tokenRangeannotations);
57        customInitialization();
58    }
59
60    @Override
61    @Generated("com.github.javaparser.generator.core.node.RemoveMethodGenerator")
62    public boolean remove(Node node) {
63        if (node == null)
64            return false;
65        return super.remove(node);
66    }
67
68    @Override
69    @Generated("com.github.javaparser.generator.core.node.CloneGenerator")
70    public ReferenceType clone() {
71        return (ReferenceTypeaccept(new CloneVisitor(), null);
72    }
73
74    @Override
75    @Generated("com.github.javaparser.generator.core.node.GetMetaModelGenerator")
76    public ReferenceTypeMetaModel getMetaModel() {
77        return JavaParserMetaModel.referenceTypeMetaModel;
78    }
79
80    @Override
81    @Generated("com.github.javaparser.generator.core.node.ReplaceMethodGenerator")
82    public boolean replace(Node nodeNode replacementNode) {
83        if (node == null)
84            return false;
85        return super.replace(nodereplacementNode);
86    }
87
88    @Override
89    @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
90    public boolean isReferenceType() {
91        return true;
92    }
93
94    @Override
95    @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
96    public ReferenceType asReferenceType() {
97        return this;
98    }
99
100    @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
101    public void ifReferenceType(Consumer<ReferenceTypeaction) {
102        action.accept(this);
103    }
104
105    @Override
106    @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator")
107    public Optional<ReferenceTypetoReferenceType() {
108        return Optional.of(this);
109    }
110}
111
MembersX
ReferenceType:ReferenceType
ReferenceType:toReferenceType
ReferenceType:remove
ReferenceType:clone
ReferenceType:getMetaModel
ReferenceType:asReferenceType
ReferenceType:ifReferenceType
ReferenceType:replace
ReferenceType:isReferenceType
Members
X