content: package net.sf.expectit.ant;
  
  /*
   * #%L
   * ExpectIt
   * %%
   * Copyright (C) 2014 Alexey Gavrilov and contributors
   * %%
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *      http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   * #L%
   */
  
  import net.sf.expectit.ant.filter.FiltersElement;
  
  /**
   * A useful interface which expect tasks should implement to implement to avoid forgetting method
   * delegations.
   */
  public interface ExpectSupport {
      /**
       * Adds a task container element.
       *
       * @param sequential the task container
       */
      void add(SequentialElement sequential);
  
      /**
       * Sets the global timeout for expect operations.
       *
       * @param ms the timeout in milliseconds. -1 indicates that the timeout should be set to
       *           infinity.
       * @see net.sf.expectit.ExpectBuilder#withTimeout(long, java.util.concurrent.TimeUnit)
       */
      void setExpectTimeout(long ms);
  
      /**
       * Sets the expect charset.
       *
       * @param charset the charset name
       * @see net.sf.expectit.ExpectBuilder#withCharset(java.nio.charset.Charset)
       */
      void setCharset(String charset);
  
      /**
       * Adds the filter container element.
       *
       * @param filters the container element.
       */
      void add(FiltersElement filters);
  
      /**
       * Sets the {@code errorOnTimeout} flag. Default is false.
       *
       * @param errorOnTimeout - if {@code true} then an error occurs if any match operation times
       *                       out, {@code false}
       *                       otherwise.
       * @see net.sf.expectit.ExpectBuilder#withErrorOnTimeout(boolean)
       */
      @Deprecated
      void setErrorOnTimeout(boolean errorOnTimeout);
  
      /**
       * Sets the {@code exceptionOnFailure} flag. Default is false.
       *
       * @param exceptionOnFailure - if {@code true} then an error occurs if any match operation
       * fails or {@code false} otherwise.
       * @see net.sf.expectit.ExpectBuilder#withExceptionOnFailure()
       */
      void setExceptionOnFailure(boolean exceptionOnFailure);
      /**
       * Sets the line separator for the send element.
       *
       * @param lineSeparator the line separator
       * @see net.sf.expectit.ExpectBuilder#withLineSeparator(String)
       */
      void setLineSeparator(String lineSeparator);
  
      /**
       * Enables the echo output. If set to {@code true}, then the input and output data are logged
       * by the Ant's task
       * logger.
       *
       * @param echoOutput the echo output flag
       */
      void setEchoOutput(boolean echoOutput);
  }
  