/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.xerces.util; import java.util.Map; import com.sun.javadoc.Tag; import com.sun.tools.doclets.Taglet; /** * This class provides support for a 'xerces.internal' tag * in javadoc comments. The tag creates a warning in the generated * html for users. * * @author Ankit Pasricha, IBM */ public class InternalTaglet implements Taglet { private static final String NAME = "xerces.internal"; private static final String HEADER = "INTERNAL:"; /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#inConstructor() */ public boolean inConstructor() { return false; } /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#inField() */ public boolean inField() { return false; } /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#inMethod() */ public boolean inMethod() { return true; } /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#inOverview() */ public boolean inOverview() { return true; } /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#inPackage() */ public boolean inPackage() { return false; } /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#inType() */ public boolean inType() { return true; } /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#isInlineTag() */ public boolean isInlineTag() { return false; } /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#getName() */ public String getName() { return NAME; } /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag) */ public String toString(Tag arg0) { return "

" + HEADER + "

" + "Usage of this class is not supported. It may be altered or removed at any time.
" + "" + arg0.text() + "
\n"; } /* (non-Javadoc) * @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag[]) */ public String toString(Tag[] tags) { if (tags.length == 0) { return null; } String result = "\n

" + HEADER + "

"; result += "Usage of this class is not supported. It may be altered or removed at any time."; result += ""; for (int i = 0; i < tags.length; i++) { result += "
"; result += tags[i].text(); } return result + "
\n"; } /** * Register this Taglet. * @param tagletMap the map to register this tag to. */ public static void register(Map tagletMap) { InternalTaglet tag = new InternalTaglet(); Taglet t = (Taglet) tagletMap.get(tag.getName()); if (t != null) { tagletMap.remove(tag.getName()); } tagletMap.put(tag.getName(), tag); } }