Class PlaceholderHandler

java.lang.Object
com.android.manifmerger.PlaceholderHandler

public class PlaceholderHandler extends Object
Replaces all placeholders of the form ${name} with a tool invocation provided value
  • Field Details

  • Constructor Details

    • PlaceholderHandler

      public PlaceholderHandler()
  • Method Details

    • isPlaceHolder

      public static boolean isPlaceHolder(@NonNull String string)
      Returns true if the passed string is a placeholder value, false otherwise.
    • visit

      public static void visit(@NonNull MergingReport.Record.Severity severity, @NonNull XmlDocument xmlDocument, @NonNull PlaceholderHandler.KeyBasedValueResolver<String> valueProvider, @NonNull MergingReport.Builder mergingReportBuilder)
      Visits a document's entire tree and check each attribute for a placeholder existence. If one is found, delegate to the provided PlaceholderHandler.KeyBasedValueResolver to provide a value for the placeholder.

      If no value is provided, an error will be generated.

      Parameters:
      severity - the severity of recorded messages regarding placeholders being found without corresponding values.
      xmlDocument - the xml document to visit
      valueProvider - the placeholder value provider.
      mergingReportBuilder - to report errors and log actions.