/* * Copyright (C) 2007-2010 JĂșlio Vilmar Gesser. * Copyright (C) 2011, 2013-2016 The JavaParser Team. * * This file is part of JavaParser. * * JavaParser can be used either under the terms of * a) the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * b) the terms of the Apache License * * You should have received a copy of both licenses in LICENCE.LGPL and * LICENCE.APACHE. Please refer to those files for details. * * JavaParser is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. */ package com.github.javaparser.javadoc; import com.github.javaparser.javadoc.description.JavadocDescription; import java.util.Optional; import static com.github.javaparser.utils.Utils.nextWord; import static com.github.javaparser.utils.Utils.screamingToCamelCase; /** * A block tag. *
* Typically they are found at the end of Javadoc comments. *
* Examples:
* @see AnotherClass
* @since v0.0.1
* @author Jim O'Java
*/
public class JavadocBlockTag {
/**
* The type of tag: it could either correspond to a known tag (param, return, etc.) or represent
* an unknown tag.
*/
public enum Type {
AUTHOR,
DEPRECATED,
EXCEPTION,
PARAM,
RETURN,
SEE,
SERIAL,
SERIAL_DATA,
SERIAL_FIELD,
SINCE,
THROWS,
VERSION,
UNKNOWN;
Type() {
this.keyword = screamingToCamelCase(name());
}
private String keyword;
boolean hasName() {
return this == PARAM;
}
static Type fromName(String tagName) {
for (Type t : Type.values()) {
if (t.keyword.equals(tagName)) {
return t;
}
}
return UNKNOWN;
}
}
private Type type;
private JavadocDescription content;
private Optional