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