Package ghidra.app.cmd.label

# Class RenameLabelCmd

java.lang.Object
ghidra.app.cmd.label.RenameLabelCmd

All Implemented Interfaces:
  `Command<Program>`

public class RenameLabelCmd extends Object implements Command<Program>
Command for renaming labels. Handles converting back and forth between default and named labels as well.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RenameLabelCmd(Address addr, String oldName, String newName, SourceType source)`
  Constructs a new command for renaming global labels.
  `RenameLabelCmd(Symbol symbol, String newName, Namespace newNamespace, SourceType source)`
  Constructor renaming an existing symbol and changing its namespace.
  `RenameLabelCmd(Symbol symbol, String newName, SourceType source)`
  Constructor renaming an existing symbol, but not changing its namespace

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `applyTo(Program program)`
  Applies the command to the given domain object.
  `String`
  `getName()`
  Returns the name of this command.
  `String`
  `getStatusMsg()`
  Returns the status message indicating the status of the command.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### RenameLabelCmd

    public RenameLabelCmd(Address addr, String oldName, String newName, SourceType source)
    Constructs a new command for renaming global labels.
    Parameters:
      `addr` - Address of label to be renamed
      `oldName` - the name of the label to be renamed; may be null if the existing label is a dynamic label
      `newName` - the new name for the label
      `source` - the source of this symbol

  - ### RenameLabelCmd

    public RenameLabelCmd(Symbol symbol, String newName, SourceType source)
    Constructor renaming an existing symbol, but not changing its namespace
    Parameters:
      `symbol` - the existing symbol; may not be null
      `newName` - the new symbol name
      `source` - the desired symbol source

  - ### RenameLabelCmd

    public RenameLabelCmd(Symbol symbol, String newName, Namespace newNamespace, SourceType source)
    Constructor renaming an existing symbol and changing its namespace. If you do not need to change the namespace, then call `RenameLabelCmd(Symbol, String, SourceType)`.
    Parameters:
      `symbol` - the existing symbol; may not be null
      `newName` - the new symbol name
      `newNamespace` - the new symbol namespace
      `source` - the desired symbol source

- ## Method Details

  - ### getName

    public String getName()
    Description copied from interface: `Command`
    Returns the name of this command.
    Specified by:
      `getName` in interface `Command<Program>`
    Returns:
      the name of this command

  - ### getStatusMsg

    public String getStatusMsg()
    Description copied from interface: `Command`
    Returns the status message indicating the status of the command.
    Specified by:
      `getStatusMsg` in interface `Command<Program>`
    Returns:
      reason for failure, or null if the status of the command was successful

  - ### applyTo

    public boolean applyTo(Program program)
    Description copied from interface: `Command`
    Applies the command to the given domain object.
    Specified by:
      `applyTo` in interface `Command<Program>`
    Parameters:
      `program` - domain object that this command is to be applied.
    Returns:
      true if the command applied successfully