123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- /* -*- 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.doclets.standard;
-
- import com.sun.javadoc.RootDoc;
- import com.sun.tools.doclets.MessageRetriever;
-
- import java.io.IOException;
- import java.net.URL;
- import java.util.Locale;
- import java.util.MissingResourceException;
- import java.util.PropertyResourceBundle;
- import java.util.ResourceBundle;
-
- /**
- * A customized configuration.
- *
- * @author Jeff Palm
- */
- public class ConfigurationStandard
- extends com.sun.tools.doclets.standard.ConfigurationStandard
- {
-
- /** It true we don't print crosscut information. */
- public boolean nocrosscuts = false;
-
- /** If true we don't print crosscut summary information. */
- public boolean nosummarycrosscuts = false;
-
- /** If true we log each pass in the doclet. */
- public boolean log = false;
-
- public ConfigurationStandard() {
- // standardmessage = new MessageRetriever
- // ("org.aspectj.tools.doclets.standard.resources.standard");
-
- String loc = "org.aspectj.tools.doclets.standard.resources.standard";
- final ClassLoader loader = getClass().getClassLoader();
- // XXX move persistant resource loader to util
- ResourceBundle bundle = null;
- for (int i = 0; ((null == bundle) && (i < 4)); i++) {
-
- try {
- switch (i) {
- case 0:
- bundle = ResourceBundle.getBundle(loc);
- standardmessage = new MessageRetriever(bundle);
- break;
- case 1:
- Locale locale = Locale.getDefault();
- bundle = ResourceBundle.getBundle(loc, locale, loader);
- standardmessage = new MessageRetriever(bundle);
- break;
- case 2:
- standardmessage = new MessageRetriever(loc);
- break;
- case 3:
- URL pURL = loader.getResource(loc + ".properties");
- bundle = new PropertyResourceBundle(pURL.openStream());
- standardmessage = new MessageRetriever(loc);
- break;
- }
- break; // from for loop
- } catch (MissingResourceException e) { } // error below
- catch (IOException ie) { } // error below
- }
- if (null == bundle) {
- throw new Error("unable to load resource: " + loc);
- }
- }
-
- //TODO: Document the new options in help
-
- public void setSpecificDocletOptions(RootDoc root) {
- String[][] options = root.options();
- for (int i = 0; i < options.length; ++i) {
- String opt = options[i][0].toLowerCase();
- if (opt.equals("-nocrosscuts")) {
- nocrosscuts = true;
- nosummarycrosscuts = true;
- } else if (opt.equals("-nosummarycrosscuts")) {
- nosummarycrosscuts = true;
- } else if (opt.equals("-log")) {
- log = true;
- }
- }
- super.setSpecificDocletOptions(root);
- }
-
- public int specificDocletOptionLength(String opt) {
- if (opt.equals("-nocrosscuts") ||
- opt.equals("-nosummarycrosscuts") ||
- opt.equals("-log")) {
- return 1;
- }
- return super.specificDocletOptionLength(opt);
- }
- }
-
|