StringOnlySequence.java

  1. /*
  2.  * stringhold
  3.  *
  4.  * Copyright 2022-2024 Christian Kohlschütter
  5.  *
  6.  * Licensed under the Apache License, Version 2.0 (the "License");
  7.  * you may not use this file except in compliance with the License.
  8.  * You may obtain a copy of the License at
  9.  *
  10.  *     http://www.apache.org/licenses/LICENSE-2.0
  11.  *
  12.  * Unless required by applicable law or agreed to in writing, software
  13.  * distributed under the License is distributed on an "AS IS" BASIS,
  14.  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15.  * See the License for the specific language governing permissions and
  16.  * limitations under the License.
  17.  */
  18. package com.kohlschutter.stringhold;

  19. /**
  20.  * An appendable sequence of strings; {@link StringHolder}s are automatically converted upon append.
  21.  *
  22.  * @author Christian Kohlschütter
  23.  */
  24. public class StringOnlySequence extends StringHolderSequence {

  25.   /**
  26.    * Constructs a new, empty {@link StringOnlySequence}.
  27.    */
  28.   public StringOnlySequence() {
  29.     this(10);
  30.   }

  31.   /**
  32.    * Constructs a new, empty {@link StringOnlySequence}.
  33.    *
  34.    * @param estimatedNumberOfAppends Estimated number of calls to {@link #append(Object)}, etc.
  35.    */
  36.   public StringOnlySequence(int estimatedNumberOfAppends) {
  37.     super(estimatedNumberOfAppends);
  38.   }

  39.   @Override
  40.   protected boolean needsStringConversion(StringHolder sh) {
  41.     return true;
  42.   }

  43.   @Override
  44.   public StringOnlySequence clone() {
  45.     return (StringOnlySequence) super.clone();
  46.   }
  47. }