/* -*- Mode: JDE; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* This file is part of the debugger and core tools for the AspectJ(tm)
* programming language; see http://aspectj.org
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* either http://www.mozilla.org/MPL/ or http://aspectj.org/MPL/.
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is AspectJ.
*
* The Initial Developer of the Original Code is Xerox Corporation. Portions
* created by Xerox Corporation are Copyright (C) 1999-2002 Xerox Corporation.
* All Rights Reserved.
*/
package org.aspectj.tools.ajdoc;
import org.aspectj.ajdoc.Doc;
import com.sun.javadoc.SeeTag;
import com.sun.javadoc.Tag;
import java.util.Locale;
public abstract class DocImpl
implements org.aspectj.ajdoc.Doc {
/** Keep track of whether this is included or not. */
private boolean isIncluded = true;
/** The comment for this Doc. */
private Comment comment;
/** The error printer for this Doc. */
private ErrPrinter err;
/** Keep track of whether this is included or not. */
private boolean isInterface = true;
/** The locale of the object -- default to Locale.US
. */
private Locale locale = Locale.US; //TODO
/**
* Returns the locale.
*
* @return the locale.
*/
public Locale locale() { //XXX
return locale;
}
public void setErr(ErrPrinter err) { this.err = err; }
public ErrPrinter err() { return ErrPrinter.instance; }
public void setComment(Comment comment) { this.comment = comment; }
public Comment getComment() { return comment; }
/**
* Delegates to {@link Util#compareTo(Object)} to compare
* with another Object.
*
* @return a negative integer, zero, or a positive integer
* as this object is less than, equal to, or greater
* than the specified object based on name.
* @see java.lang.Comparable.compareTo(Object)
*/
public int compareTo(Object other) {
return other instanceof Doc
? Util.compareTo(this, (Doc)other)
: -1;
}
/**
* Returns the Tags that comprise the first
* sentence of the comment.
*
* @return an array of Tag representing the first
* sentence of the comment.
*/
public Tag[] firstSentenceTags() {
return getComment() != null
? getComment().firstSentenceTags()
: new Tag[0];
}
/**
* Returns the full unprocessed text of the comment.
*
* @return the full unprocessed text of the comment.
*/
public String getRawCommentText() {
return getComment() != null
? getComment().rawCommentText()
: "";
}
/**
* Sets the full unprocessed text of the comment.
*
* @param rawCommentText the new full unprocessed text of the comment..
*/
public void setRawCommentText(String rawCommentText) {
if (getComment() != null) {
getComment().setRawCommentText(rawCommentText);
}
}
/**
* Returns the comment as an array of Tag.
*
* @return an array of Tag representing the comment.
*/
public Tag[] inlineTags() {
return getComment() != null
? getComment().inlineTags()
: new Tag[0];
}
/**
* Returns the see tags of the comment.
*
* @return an array of SeeTag representing the
* see tags of the comment.
*/
public SeeTag[] seeTags() {
return getComment() != null
? getComment().seeTags()
: new SeeTag[0];
}
/**
* Returns all tags of the comment.
*
* @return an array of Tag representing all
* tags of the comment.
*/
public Tag[] tags() {
return getComment() != null
? getComment().tags()
: new Tag[0];
}
/**
* Returns all tags of the comment whose name equals
* tagname
.
*
* @return an array of Tag representing all tags of the
* comment whose name equals tagname
.
*/
public Tag[] tags(String tagname) {
return getComment() != null
? getComment().tags(tagname)
: new Tag[0];
}
/**
* Returns the commext text for non-null comments,
* otherwise the empty String.
*
* @return non-null comment text.
*/
public String commentText() {
return getComment() != null
? getComment().commentText()
: "";
}
/**
* Sets isIncluded
.
*
* @param isIncluded the new value of isIncluded
.
*/
public void setIncluded(boolean isIncluded) {
this.isIncluded = isIncluded;
}
/**
* Returns false
by default.
*
* @return false
by default.
*/
public boolean isClass() {
return false;
}
/**
* Returns false
by default.
*
* @return false
by default.
*/
public boolean isConstructor() {
return false;
}
/**
* Returns false
by default.
*
* @return false
by default.
*/
public boolean isError() {
return false;
}
/**
* Returns false
by default.
*
* @return false
by default.
*/
public boolean isException() {
return false;
}
/**
* Returns false
by default.
*
* @return by default./
*/
public boolean isField() {
return false;
}
/**
* Returns isIncluded
by default.
*
* @return by default./
*/
public boolean isIncluded() {
return isIncluded;
}
/**
* Returns false
by default.
*
* @return by default./
*/
public boolean isInterface() {
return false;
}
/**
* Returns false
by default.
*
* @return by default./
*/
public boolean isMethod() {
return false;
}
/**
* Returns false
by default.
*
* @return by default./
*/
public boolean isOrdinaryClass() {
return false;
}
/**
* Returns false
by default.
*
* @return by default./
*/
public boolean isPointcut() {
return false;
}
/**
* Returns false
by default.
*
* @return by default./
*/
public boolean isAdvice() {
return false;
}
}