01: /*
02: * Contibuted by Andrea Aime
03: * (C) Copyright 2002-2005 Diomidis Spinellis
04: *
05: * Permission to use, copy, and distribute this software and its
06: * documentation for any purpose and without fee is hereby granted,
07: * provided that the above copyright notice appear in all copies and that
08: * both that copyright notice and this permission notice appear in
09: * supporting documentation.
10: *
11: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
12: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
13: * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
14: *
15: * $Id: OptionProvider.java,v 1.6 2007/11/27 09:04:22 dds Exp $
16: *
17: */
18:
19: package org.umlgraph.doclet;
20:
21: import com.sun.javadoc.ClassDoc;
22:
23: /**
24: * A factory class that builds Options object for general use or for a
25: * specific class
26: */
27: public interface OptionProvider {
28: /**
29: * Returns the options for the specified class.
30: */
31: public Options getOptionsFor(ClassDoc cd);
32:
33: /**
34: * Returns the options for the specified class.
35: */
36: public Options getOptionsFor(String name);
37:
38: /**
39: * Returns the global options (the class independent definition)
40: */
41: public Options getGlobalOptions();
42:
43: /**
44: * Gets a base Options and applies the overrides for the specified class
45: */
46: public void overrideForClass(Options opt, ClassDoc cd);
47:
48: /**
49: * Gets a base Options and applies the overrides for the specified class
50: */
51: public void overrideForClass(Options opt, String className);
52:
53: /**
54: * Returns user displayable name for this option provider.
55: * <p>Will be used to provide progress feedback on the console
56: */
57: public String getDisplayName();
58: }
|