diff options
Diffstat (limited to 'aspectj-attic/ajdoc-src/org/aspectj/tools/doclets/standard/ConfigurationStandard.java')
-rw-r--r-- | aspectj-attic/ajdoc-src/org/aspectj/tools/doclets/standard/ConfigurationStandard.java | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/aspectj-attic/ajdoc-src/org/aspectj/tools/doclets/standard/ConfigurationStandard.java b/aspectj-attic/ajdoc-src/org/aspectj/tools/doclets/standard/ConfigurationStandard.java new file mode 100644 index 000000000..8de96b8dc --- /dev/null +++ b/aspectj-attic/ajdoc-src/org/aspectj/tools/doclets/standard/ConfigurationStandard.java @@ -0,0 +1,120 @@ +/* -*- 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); + } +} + + |