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}