Class InvalidSelector

java.lang.Object
org.spongepowered.asm.mixin.injection.selectors.InvalidSelector
All Implemented Interfaces:
ITargetSelector

public class InvalidSelector extends Object implements ITargetSelector
Since the contract of TargetSelector.parse(java.lang.Iterable<?>, org.spongepowered.asm.mixin.injection.selectors.ISelectorContext) prohibits returing null, instances of this selector are returned when supplied arguments are unparseable in order to throw exceptions only during validation.
  • Constructor Details

    • InvalidSelector

      public InvalidSelector(Throwable cause)
    • InvalidSelector

      public InvalidSelector(String input)
    • InvalidSelector

      public InvalidSelector(Throwable cause, String input)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • next

      public ITargetSelector next()
      Description copied from interface: ITargetSelector
      Get the next target selector in this path (or null if this selector is the last selector in the chain. Called at recurse points in the subject in order to match against the child subject.

      Can return null

      Specified by:
      next in interface ITargetSelector
    • configure

      public ITargetSelector configure(ITargetSelector.Configure request, String... args)
      Description copied from interface: ITargetSelector
      Configure and return a modified version of this selector by consuming the supplied arguments. Results from this method should be idempotent in terms of the configuration of the returned object, but do not have to necessarily return the same object if the callee already matches the supplied configuration, or if the requested mutation is not supported by the selector, though this is generally the case.

      In other words, calling configure(Configure.ORPHAN) when this object is already an orphan or does not support orphaning, may simply return this object, or might return an identically-configured copy.

      Must not return null, defaults to returning unmodified selector.

      Specified by:
      configure in interface ITargetSelector
      Parameters:
      request - Requested operation
      args - Configuration arguments
      Returns:
      Configured selector, may return this selector if the specified condition is already satisfied
    • validate

      public ITargetSelector validate() throws InvalidSelectorException
      Description copied from interface: ITargetSelector
      Perform basic sanity-check validation of the selector, checks that the parsed out parameters are basically sane
      Specified by:
      validate in interface ITargetSelector
      Returns:
      fluent (this selector)
      Throws:
      InvalidSelectorException - if any sanity check fails
    • attach

      Description copied from interface: ITargetSelector
      Attach this selector to the specified context. Should return this selector unmodified if all is well, or a new selector to be used for further processing of the supplied context. If the supplied context is invalid, an InvalidSelectorException is thrown.
      Specified by:
      attach in interface ITargetSelector
      Parameters:
      context - Context to attach to
      Returns:
      Attached selector
      Throws:
      InvalidSelectorException
    • getMinMatchCount

      public int getMinMatchCount()
      Description copied from interface: ITargetSelector
      Minimum number of candidates this selector must match
      Specified by:
      getMinMatchCount in interface ITargetSelector
    • getMaxMatchCount

      public int getMaxMatchCount()
      Description copied from interface: ITargetSelector
      Maximum number of candidates this selector can match
      Specified by:
      getMaxMatchCount in interface ITargetSelector
    • match

      public <TNode> MatchResult match(ElementNode<TNode> node)
      Description copied from interface: ITargetSelector
      Test whether this selector matches the supplied element node
      Specified by:
      match in interface ITargetSelector
      Type Parameters:
      TNode - node type
      Parameters:
      node - node node to test
      Returns:
      true if this selector can match the supplied field