2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
4 * Copyright (C) 1997-2015 Oracle and/or its affiliates. All rights reserved.
6 * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
7 * Other names may be trademarks of their respective owners.
9 * The contents of this file are subject to the terms of either the GNU
10 * General Public License Version 2 only ("GPL") or the Common
11 * Development and Distribution License("CDDL") (collectively, the
12 * "License"). You may not use this file except in compliance with the
13 * License. You can obtain a copy of the License at
14 * http://www.netbeans.org/cddl-gplv2.html
15 * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
16 * specific language governing permissions and limitations under the
17 * License. When distributing the software, include this License Header
18 * Notice in each file and include the License file at
19 * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
20 * particular file as subject to the "Classpath" exception as provided
21 * by Oracle in the GPL Version 2 section of the License file that
22 * accompanied this code. If applicable, add the following below the
23 * License Header, with the fields enclosed by brackets [] replaced by
24 * your own identifying information:
25 * "Portions Copyrighted [year] [name of copyright owner]"
29 * The Original Software is NetBeans. The Initial Developer of the Original
30 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
31 * Microsystems, Inc. All Rights Reserved.
33 * If you wish your version of this file to be governed by only the CDDL
34 * or only the GPL Version 2, indicate your decision by adding
35 * "[Contributor] elects to include this software in this distribution
36 * under the [CDDL or GPL Version 2] license." If you do not indicate a
37 * single choice of license, a recipient has the option to distribute
38 * your version of this file under either the CDDL, the GPL Version 2 or
39 * to extend the choice of license to its licensees as provided above.
40 * However, if you add GPL Version 2 code and therefore, elected the GPL
41 * Version 2 license, then the option applies only if the new code is
42 * made subject to such option by the copyright holder.
45 package org.netbeans.lib.callgraph;
48 import java.util.Iterator;
52 * Settings for a call graph, implemented by Arguments
54 * @author Tim Boudreau
56 interface CallgraphControl extends Iterable<File> {
58 static final String CMD_NOSELF = "noself";
59 static final String CMD_SIMPLE = "simple";
60 static final String CMD_ANT = "ant";
61 static final String CMD_MAVEN = "maven";
62 static final String CMD_GRADLE = "gradle";
63 static final String CMD_EXTENDED_PROPERTIES = "extensions";
64 static final String CMD_AGGRESSIVE_MEMORY = "aggressive";
65 static final String CMD_IGNORE = "ignore";
66 static final String CMD_PACKAGEGRAPH = "packagegraph";
67 static final String CMD_METHODGRAPH = "methodgraph";
68 static final String CMD_CLASSGRAPH = "classgraph";
69 static final String CMD_QUIET = "quiet";
70 static final String CMD_EXCLUDE = "exclude";
71 static final String CMD_VERBOSE = "verbose";
72 static final String CMD_OMIT_ABSTRACT = "omit_abstract";
73 static final String CMD_DISABLE_EIGHT_BIT_STRINGS = "use_java_strings";
74 static final String CMD_REVERSE = "reverse";
76 boolean isDisableEightBitStrings();
78 File classGraphFile();
80 Set<String> excludePrefixes();
90 boolean isExtendedProperties();
92 boolean isAggressive();
96 boolean isSelfReferences();
98 boolean isShortNames();
100 File methodGraphFile();
102 File packageGraphFile();
104 boolean isExcluded(String qname);
108 boolean isOmitAbstract();