Merge branch 'GT-3362_ryanmkurtz_PR-1287_astrelsky_DocumentationFixes'

Conflicts:
	Ghidra/Framework/Docking/src/main/java/docking/action/DockingAction.java
This commit is contained in:
Ryan Kurtz 2019-12-02 13:22:08 -05:00
commit 6e6bdffe86
659 changed files with 1740 additions and 4136 deletions

View file

@ -1,6 +1,5 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -20,12 +19,10 @@ public interface MergeProgressModifier {
/**
* Updates the current phase progress area in the default merge panel.
* @param currentProgressPercentage the progress percentage completed for the current phase.
* This should be a value from 0 to 100.
* @param progressMessage a message indicating what is currently occurring in this phase.
* Null indicates to use the default message.
*/
public void updateProgress(final String description);
public void updateProgress(final String progressMessage);
/**
* Updates the current phase progress area in the default merge panel.

View file

@ -44,13 +44,12 @@ public class AboutDomainObjectUtils {
* Displays an informational dialog about the specified domain object
*
* @param tool plugin tool
* @param domainObject domain object to display information about
* @param domainFile domain file to display information about
* @param metadata the metadata for the domainFile
* @param title title to use for the dialog
* @param additionalInfo additional custom user information to append to
* the bottom of the dialog
* @param shouldParent true means that about dialog will be parented
* to <code>parent</code>, false means that only
* the location will be set relative to <code>parent</code>
* @param helpLocation the help location
*/
public static void displayInformation(PluginTool tool, DomainFile domainFile,
Map<String, String> metadata, String title, String additionalInfo,

View file

@ -1,6 +1,5 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -40,7 +39,8 @@ public interface DomainObjectMergeManager extends MergeProgressModifier {
* @param infoType the string indicating the type of resolve information
* @param infoObject the object for the named string. This information is
* determined by the merge manager that creates it.
* @see getResolveInformation(String)
* @see ghidra.app.merge.MergeManager#getResolveInformation(String)
* MergeManager.getResolveInformation(String)
*/
public void setResolveInformation(String infoType, Object infoObject);

View file

@ -760,9 +760,8 @@ class GhidraFolderData {
/**
* Check for existence of file. If folder visited, rely on fileDataCache
* @param fileName
* @param doRealCheck if true do not rely on fileList
* @return
* @param fileName the name of the file to check for
* @return true if this folder contains the fileName
* @throws IOException
*/
public boolean containsFile(String fileName) throws IOException {

View file

@ -89,7 +89,7 @@ public class ProjectFileManager implements ProjectData {
* Constructor for existing projects.
* @param localStorageLocator the location of the project
* @param isInWritableProject true if project content is writable, false if project is read-only
* @param inProject true if this is the active project
* @param resetOwner true to reset the project owner
* @throws IOException if an i/o error occurs
* @throws NotOwnerException if inProject is true and user is not owner
* @throws FileNotFoundException if project directory not found

View file

@ -1,6 +1,5 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -31,7 +30,7 @@ public class ToolState {
/**
* Construct a new tool state.
* @param tool tool's state to save
* @param element element containing tool state
* @param domainObject the object containing the tool state
*/
public ToolState(PluginTool tool, DomainObject domainObject) {
this.tool = tool;

View file

@ -109,7 +109,7 @@ class EditPluginPathDialog extends DialogComponentProvider {
/**
* Define the Main panel for the dialog here.
* @return JPanel the completed <CODE>Main Panel<\CODE>
* @return JPanel the completed <CODE>Main Panel</CODE>
*/
protected JPanel buildMainPanel() {
// give base class the panel it needs to complete its construction

View file

@ -40,9 +40,11 @@ import util.CollectionUtils;
* Panel that shows the users for a given repository and the users associated with the current
* shared project. There are 3 main sub-panels:
* <p>
* <ul>
* <li>Known Users Panel: Displays all users in the repository</li>
* <li>Button Panel: Provides buttons for adding/removing users from the project</li>
* <li>User Access Panel: Displays all users on the project, and their access permissions</li>
* </ul>
* <p>
* If the current user is an admin, he may change user permissions and add/remove them
* from the project. If not, only the User Access Panel will be visible and it will
@ -70,7 +72,7 @@ public class ProjectAccessPanel extends AbstractWizardJPanel {
/**
* Construct a new panel from a {@link RepositoryAdapter} instance.
*
* @param knownUser names of the users that are known to the remote server
* @param knownUsers names of the users that are known to the remote server
* @param repository the repository adapter instance
* @param tool the current tool
* @throws IOException if there's an error processing the repository user list

View file

@ -45,7 +45,6 @@ public class CheckInTask extends VersionControlTask implements CheckinHandler {
* Construct a new CheckInTask.
* @param tool tool that has the files to be checked in
* @param list list of domain files to be checked in
* @param taskListener listener that is notified when this task completes
* @param parent parent of error dialog if an error occurs
*/
public CheckInTask(PluginTool tool, List<DomainFile> list, Component parent) {

View file

@ -17,7 +17,7 @@ package ghidra.framework.main.logviewer.event;
/**
* Custom events to be used in conjunction with the {@link FVEventListener} module. Users should
* construct an event, then fire it using {@link FVEventListener#sendEvent(FVEvent)}.
* construct an event, then fire it using {@link FVEventListener#send(FVEvent)}.
*
* Two items are passed along with each event:
* - The {@link #eventType} attribute specifies the event that is being fired.

View file

@ -29,21 +29,22 @@ import ghidra.framework.main.logviewer.model.*;
import ghidra.util.Msg;
/**
* Custom slider that acts as the scroll bar for the {@link FVTable}. This slider listens for
* <pre> Custom slider that acts as the scroll bar for the FVTable. This slider listens for
* changes to the viewport and updates its position accordingly.
*
* Q. Why not just use the standard {@link JScrollbar} that comes with the {@link JScrollPane}?
* Q. Why not just use the standard {@link javax.swing.JScrollBar JScrollBar} that comes with the {@link JScrollPane}?
*
* A. It's because we are viewing only a portion of the total file at any given time; if we used the
* standard scroll mechanism, it would size itself and its viewport according to that subset
* of the total file, while we want it to reflect the file in its entirety.
* A. It's because we are viewing only a portion of the total file at any given time.
* If we used the standard scroll mechanism, it would size itself and its viewport
* according to that subset of the total file, while we want it to reflect the file
* in its entirety.
*
* Q. Why extend a JSlider for this custom scroll bar instead of a JScrollBar?
*
* A. The JSlider is much easier to customize, specifically when trying to adjust the size of the
* slider thumb. Functionally they are both acceptable for our purposes, but the ease of using
* the slider wins out.
* Q. Why extend a {@link JSlider} for this custom scroll bar instead of a {@link JScrollBar}?
*
* A. The {@link JSlider} is much easier to customize, specifically when trying to adjust
* the size of the slider thumb. Functionally they are both acceptable for our
* purposes, but the ease of using the slider wins out.
* </pre>
*/
public class FVSlider extends JSlider
implements ChangeListener, MouseMotionListener, MouseListener {

View file

@ -39,7 +39,7 @@ import utilities.util.FileUtilities;
* Notes:
* 1. The viewer consists of a simple JTable and a custom JSlider. The table displays lines of
* text described by {@link Chunk} objects. The number of chunks visible at any given time
* is restricted by the {@link Chunk#MAX_VISIBLE_CHUNKS} property.
* is restricted by the {@link ChunkModel#MAX_VISIBLE_CHUNKS} property.
*
* 2. Because only part of the file is loaded into the viewable table at any given time, the
* built-in scrollbar associated with the scrollpane cannot be used. We want the scroll bar

View file

@ -30,8 +30,9 @@ import ghidra.framework.main.logviewer.event.FVEventListener;
* Simple warning dialog for letting the user know when the input file has been updated. This
* includes an option allowing the user to opt-out of seeing subsequent pop-ups.
*
* Note: The Ghidra {@link OptionPanel} is not sufficient for this as it doesn't allow for
* custom objects to be displayed (the opt-out checkbox).
* Note: The Ghidra {@link docking.options.editor.OptionsPanel OptionsPanel}
* is not sufficient for this as it doesn't allow for custom objects to be
* displayed (the opt-out checkbox).
*
*/
public class ReloadDialog extends JDialog {

View file

@ -31,7 +31,7 @@ import ghidra.util.Msg;
/**
* Utility class for managing the viewport in the {@link FVTable}. This viewport must be
* adjusted manually whenever {@link Chunk} objects are added to or removed from to the view,
* or whenever the {@link FVScrollBar} is moved.
* or whenever the {@link FVSlider} is moved.
*
*/
public class ViewportUtility implements Observer {
@ -175,7 +175,6 @@ public class ViewportUtility implements Observer {
*
* @param rows
* @param selection
* @return
*/
public void moveViewportUp(int rows, boolean selection) {
@ -254,7 +253,6 @@ public class ViewportUtility implements Observer {
*
* @param rows
* @param selection
* @return
*/
public void moveViewportDown(int rows, boolean selection) {

View file

@ -105,7 +105,6 @@ public class VersionControlCheckInAction extends VersionControlAction {
* Check in the list of domain files.
* Domain files that cannot be closed are skipped in the list.
* @param fileList list of DomainFile objects
* @param listener the task listener that is notified when task completes
*/
public void checkIn(List<DomainFile> fileList) {

View file

@ -308,7 +308,6 @@ public interface DomainFile extends Comparable<DomainFile> {
/**
* Return the latest version
* @throws IOException thrown if an IO or access error occurs.
*/
public int getLatestVersion();

View file

@ -181,7 +181,7 @@ public interface DomainFolder extends Comparable<DomainFolder> {
/**
* Copy this folder into the newParent folder.
* @param newParent new parent folder
* @param new folder
* @param monitor the task monitor
* @throws DuplicateFileException if a folder or file by
* this name already exists in the newParent folder
* @throws IOException thrown if an IO or access error occurs.

View file

@ -1,6 +1,5 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -88,12 +87,11 @@ public interface ProjectData {
public DomainFile getFileByID(String fileID);
/**
* Get a GhidraURL for a shared domain file which is available
* Get a URL for a shared domain file which is available
* within a remote repository.
* @param path the absolute path of domain file relative to the root folder.
* @return URL object for accessing shared file from outside of a project, or
* null if file does not exist or is not shared.
* @see ghidra.framework.data.URLGhidraRepository
*/
public URL getSharedFileURL(String path);
@ -177,7 +175,7 @@ public interface ProjectData {
public void close();
/**
* @returns the maximum name length permitted for folders or items.
* @return the maximum name length permitted for folders or items.
*/
public int getMaxNameLength();

View file

@ -95,7 +95,7 @@ public class ProjectDataUtils {
}
/**
* Recursively traverse the {@link DomainFolders}s under a specific {@link DomainFolder}.
* Recursively traverse the {@link DomainFolder}s under a specific {@link DomainFolder}.
*
* @param startFolder
*/
@ -140,7 +140,7 @@ public class ProjectDataUtils {
}
/**
* Returns a {@link Iterable} sequence of all the {@link DomainFolders}s that exist under
* Returns a {@link Iterable} sequence of all the {@link DomainFolder}s that exist under
* the specified {@link DomainFolder folder}.
* @param folder
* @return

View file

@ -18,16 +18,16 @@ package ghidra.framework.model;
import ghidra.framework.plugintool.PluginEvent;
/**
* Interface to be implemented by objects that want to receive ToolEvents.
* Interface to be implemented by objects that want to receive PluginEvents.
* Tools must be registered for a particular event to actually receive it.
*
* @see ToolEvent
* @see PluginEvent
*/
public interface ToolListener {
/**
* This method is invoked when the registered ToolEvent event occurs.
* This method is invoked when the registered PluginEvent event occurs.
*
* @param toolEvent The cross-tool PluginEvent.
*/

View file

@ -107,7 +107,6 @@ public interface ToolServices {
* Launch the default tool; if domainFile is not null, this file will
* be opened in the tool.
* @param domainFile the file to open; may be null
* @see #setDefaultTool(ToolTemplate)
*/
public Tool launchDefaultTool(DomainFile domainFile);

View file

@ -29,8 +29,9 @@ public abstract class ComponentProviderAdapter extends ComponentProvider {
protected PluginTool tool;
/**
* Creates a new component provider with a default location of {@link PluginTool#WINDOW}.
* @param windowMgr The window manager that will manage and show this provider.
* Creates a new component provider with a default location of
* {@link docking.WindowPosition#WINDOW WindowPosition.WINDOW}.
* @param tool the plugin tool.
* @param name The providers name. This is used to group similar providers into a tab within
* the same window.
* @param owner The owner of this provider, usually a plugin name.
@ -40,8 +41,9 @@ public abstract class ComponentProviderAdapter extends ComponentProvider {
}
/**
* Creates a new component provider with a default location of {@link PluginTool#WINDOW}.
* @param windowMgr The window manager that will manage and show this provider.
* Creates a new component provider with a default location of
* {@link docking.WindowPosition#WINDOW WindowPosition.WINDOW}.
* @param tool the plugin tool.
* @param name The providers name. This is used to group similar providers into a tab within
* the same window.
* @param owner The owner of this provider, usually a plugin name.

View file

@ -67,7 +67,8 @@ import ghidra.util.classfinder.ExtensionPoint;
* {@link Plugin#registerServiceProvided(Class, Object) registerServiceProvided()}.
* (required)
* <LI>Create Actions (optional)
* <LI>Register {@link Options} with the {@link PluginTool#getOptions(String)}. (optional)<br>
* <LI>Register {@link ghidra.framework.options.Options Options} with the
* {@link PluginTool#getOptions(String)}. (optional)<br>
* </OL>
* <LI>Other Plugins are constructed, dependencies evaluated, etc.<br>
* If your dependencies are not available (ie. not installed, threw an exception during their
@ -104,8 +105,7 @@ import ghidra.util.classfinder.ExtensionPoint;
* All Plugins must be tagged with a {@link PluginInfo @PluginInfo(...)} annotation.
* <p>
* The annotation gives you the ability to declare a dependency on another Plugin
* via the {@link PluginInfo#servicesRequired() servicesRequired} /
* {@link PluginInfo#servicesUsed() servicesUsed}
* via the {@link PluginInfo#servicesRequired() servicesRequired}
* <p>
* Ghidra will ensure that your Plugin will not be {@link #init() initialized} until all
* of its required services are loaded successfully and are available for use when your Plugin
@ -491,7 +491,7 @@ public abstract class Plugin implements ExtensionPoint, PluginEventListener, Ser
* Plugins should override this method if they update their state
* when a particular service is added.
*
* @param interfaceClass The <b>interface</i> of the added service
* @param interfaceClass The <b>interface</b> of the added service
* @param service service that is being added
*/
@Override
@ -505,7 +505,7 @@ public abstract class Plugin implements ExtensionPoint, PluginEventListener, Ser
* Plugins should override this method if they update their state
* when a particular service is removed.
*
* @param interfaceClass The <b>interface</i> of the added service
* @param interfaceClass The <b>interface</b> of the added service
* @param service that is being removed.
*/
@Override

View file

@ -24,7 +24,7 @@ import ghidra.framework.plugintool.util.PluginStatus;
* <p>
* Example:
* <pre>
* @PluginInfo(
* &#64;PluginInfo(
* status = PluginStatus.RELEASED,
* packageName = CorePluginPackage.NAME,
* category = PluginCategoryNames.COMMON,
@ -32,7 +32,6 @@ import ghidra.framework.plugintool.util.PluginStatus;
* description = "Longer description of plugin.",
* servicesProvided = { ServiceInterfaceThisPluginProvides.class }
* servicesRequired = { RequiredServiceInterface1.class, RequiredServiceInterface2.class },
* servicesUsed = { OptionalServiceInterface1.class, OptionalServiceInterface2.class },
* eventsConsumed = { SomePluginEvent.class },
* eventsProduced = { AnotherPluginEvent.class },
* isSlowInstallation = false
@ -68,6 +67,7 @@ public @interface PluginInfo {
* <li>PluginCategoryNames.COMMON
* <li>PluginCategoryNames.SUPPORT
* <li>PluginCategoryNames.etc
* </ul>
* @return String category
*/
String category();

View file

@ -58,7 +58,7 @@ public abstract class StandAloneApplication implements GenericStandAloneApplicat
* <b>The given properties file is expected to have the
* {@link ApplicationProperties#APPLICATION_NAME_PROPERTY} and
* {@link ApplicationProperties#APPLICATION_VERSION_PROPERTY} properties
* set.
* set.</b>
*
* @param propertiesFilename the name of the properties file.
*/

View file

@ -945,7 +945,7 @@ public class ExtensionUtils {
* Attempts to delete any extension directories that do not contain a Module.manifest
* file. This indicates that the extension was slated to be uninstalled by the user.
*
* @see ExtensionTableModel#uninstallExtension
* @see #uninstall
*/
public static void cleanupUninstalledExtensions() {
if (SystemUtilities.isInDevelopmentMode()) {

View file

@ -132,7 +132,7 @@ public class OptionsManager implements OptionsService, OptionsChangeListener {
/**
* Deregister the owner from the options; if options are empty, then
* remove the options from the map.
* @param owner owner name
* @param ownerPlugin the owner plugin
*/
//TODO anyone using this Or should they be?
public void deregisterOwner(Plugin ownerPlugin) {

View file

@ -1,6 +1,5 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -50,8 +49,8 @@ public interface OptionsService {
* expected to be the name of a node in the options tree, residing under the root node. You
* may also provide the name of such a node, followed by the options delimiter, followed by
* the name of a child node under that node. For example, suppose in the options tree exists
* a node <pre>Root->Foo</pre> You may pass the value "Foo" to get that node. Or, suppose
* in the options tree exists a node <pre>Root->Foo->childNode1</pre> In this case, you may
* a node {@literal Root->Foo} You may pass the value "Foo" to get that node. Or, suppose
* in the options tree exists a node {@literal Root->Foo->childNode1} In this case, you may
* pass the value "Foo.childNode1", where the '.' character is the delimiter of the
* {@link ToolOptions} class (this is the value at the time of writing this documentation).
*

View file

@ -170,7 +170,7 @@ public class PluginDescription implements Comparable<PluginDescription> {
/**
* Return the description of the plugin.
* @return "<None>" if no description was specified
* @return {@code "<None>"} if no description was specified
*/
public String getDescription() {
return description;
@ -284,9 +284,9 @@ public class PluginDescription implements Comparable<PluginDescription> {
/**
* Constructs a new PluginDescription for the given plugin class.
* <p>
* Deprecated, use {@link PluginInfo @PluginInfo} instead.
* @deprecated, use {@link PluginInfo &#64;PluginInfo} instead.
*
* @param pluginClass the class of the plugin
* @param pluginClassParam the class of the plugin
* @param status the status, UNSTABLE, STABLE, RELEASED, DEBUG, or EXAMPLE
* @param pluginPackage the package to which the plugin belongs (see {@link PluginPackage}
* subclasses for examples)

View file

@ -323,7 +323,7 @@ public class DefaultProject implements Project {
/**
* Get the local tool chest for the user logged in.
*
* @returns the tool chest
* @return the tool chest
*/
@Override
public ToolChest getLocalToolChest() {

View file

@ -41,7 +41,7 @@ public abstract class GhidraProtocolHandler implements ExtensionPoint {
/**
* Get the Ghidra protocol connector for a Ghidra URL which requires this
* extension.
* @param url Ghidra protocol URL
* @param ghidraUrl Ghidra protocol URL
* @return Ghidra protocol connector
* @throws MalformedURLException if URL is invalid
*/

View file

@ -174,7 +174,7 @@ public class GhidraURL {
/**
* Create a Ghidra URL from a string form of Ghidra URL or local project path.
* This method can consume strings produced by the getDisplayString method.
* @param path project path (<absolute-directory>/<project-name>)
* @param projectPathOrURL {@literal project path (<absolute-directory>/<project-name>)}
* @return local Ghidra project URL
* @see #getDisplayString(URL)
* @throws IllegalArgumentException invalid path or URL specified
@ -289,7 +289,7 @@ public class GhidraURL {
* Create a URL which refers to Ghidra Server repository content. Path may correspond
* to either a file or folder.
* @param host server host name/address
* @param port optional server port (a value <= 0 refers to the default port)
* @param port optional server port (a value &lt;= 0 refers to the default port)
* @param repositoryName repository name
* @param repositoryPath absolute folder or file path within repository.
* Folder paths should end with a '/' character.
@ -303,7 +303,7 @@ public class GhidraURL {
* Create a URL which refers to Ghidra Server repository content. Path may correspond
* to either a file or folder.
* @param host server host name/address
* @param port optional server port (a value <= 0 refers to the default port)
* @param port optional server port (a value &lt;= 0 refers to the default port)
* @param repositoryName repository name
* @param repositoryPath absolute folder path within repository.
* @param fileName name of a file contained within the specified repository/path
@ -352,7 +352,7 @@ public class GhidraURL {
/**
* Create a URL which refers to Ghidra Server repository and its root folder
* @param host server host name/address
* @param port optional server port (a value <= 0 refers to the default port)
* @param port optional server port (a value &lt;= 0 refers to the default port)
* @param repositoryName repository name
* @return Ghidra Server repository URL
*/

View file

@ -1,6 +1,5 @@
/* ###
* IP: GHIDRA
* REVIEWED: YES
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -45,7 +44,7 @@ import java.util.concurrent.locks.ReentrantLock;
* <U>Suspending:</U><BR>
* The GTaskManager can be suspended. When suspended, any currently running task will continue to
* run, but no new or currently scheduled tasks will be executed until the GTaskManager is resumed.
* There is a special method, {@link #runNextTaskEvenIfSuspended()}, that will run the next scheduled task
* There is a special method, {@link #runNextTaskEvenWhenSuspended()}, that will run the next scheduled task
* even if the GTaskManager is suspended.
* <P>
* <U>Yielding to Other Tasks:</U><BR>