001package com.streamconverter.command.rule;
002
003/**
004 * Pass-through rule implementation
005 *
006 * <p>This rule implementation returns the input string unchanged. Useful as a default rule or for
007 * testing purposes when no transformation is needed.
008 */
009public class PassThroughRule implements IRule {
010
011  /** Default constructor. */
012  public PassThroughRule() {}
013
014  /**
015   * Apply the pass-through rule - returns input unchanged.
016   *
017   * @param input the input string to process
018   * @return the same input string without any modifications
019   * @throws IllegalArgumentException if input is null
020   */
021  @Override
022  public String apply(String input) {
023    if (input == null) {
024      throw new IllegalArgumentException("Input cannot be null");
025    }
026    return input;
027  }
028}