Class FitsLineAppender


  • public class FitsLineAppender
    extends java.lang.Object
    This class handles the writing of a card line. It keeps track of the position in the line and will limit it to 80 characters. A write will never cross the line border but a write when the line is at position 80 will start a new line.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.StringBuilder buffer
      the underlying StringBuilder to which the writing of fits lines happens.
      private int charCount
      the char current position in the line.
      private static java.lang.String FULL_CARD_AS_SPACES
      A String of 80 spaces to fill up fits card space.
    • Constructor Summary

      Constructors 
      Constructor Description
      FitsLineAppender()
      create a new FitsLineAppender that will have space allocated for one line.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void append​(char character)
      append a character to the fits line.
      void append​(java.lang.String string)
      append a string to the fits line, but limit the append to the line length.
      void append​(java.lang.String key, int start, int end)  
      void append​(FitsSubString stringValue)
      Append a sub-string to this line.
      void appendReplacing​(java.lang.String key, char toReplace, char with)
      append a string to the buffer, replacing all occurrences of a character with an other.
      void appendSpacesTo​(int count)
      append a number of spaces to the line, limited to the line length! This will only be done if the line is already started, so attention when a line is still empty this method will have no effect on empty lines.
      void completeLine()
      fill the rest of current line with spaces and start a new fits line.
      int length()  
      int spaceLeftInLine()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • FULL_CARD_AS_SPACES

        private static final java.lang.String FULL_CARD_AS_SPACES
        A String of 80 spaces to fill up fits card space.
      • buffer

        private final java.lang.StringBuilder buffer
        the underlying StringBuilder to which the writing of fits lines happens.
      • charCount

        private int charCount
        the char current position in the line.
    • Constructor Detail

      • FitsLineAppender

        public FitsLineAppender()
        create a new FitsLineAppender that will have space allocated for one line.
    • Method Detail

      • append

        public void append​(char character)
        append a character to the fits line.
        Parameters:
        character - the character to append to the line.
      • append

        public void append​(FitsSubString stringValue)
        Append a sub-string to this line.
        Parameters:
        stringValue - the sub string to append.
      • append

        public void append​(java.lang.String string)
        append a string to the fits line, but limit the append to the line length. rest of the string will be silently truncated.
        Parameters:
        string - the string to append
      • appendReplacing

        public void appendReplacing​(java.lang.String key,
                                    char toReplace,
                                    char with)
        append a string to the buffer, replacing all occurrences of a character with an other.
        Parameters:
        key - the string to write
        toReplace - the character to replace
        with - the character to replace the toReplace character with.
      • appendSpacesTo

        public void appendSpacesTo​(int count)
        append a number of spaces to the line, limited to the line length! This will only be done if the line is already started, so attention when a line is still empty this method will have no effect on empty lines.
        Parameters:
        count - the number of spaces to write.
      • completeLine

        public void completeLine()
        fill the rest of current line with spaces and start a new fits line.
      • length

        public int length()
        Returns:
        the character position in the current line.
      • spaceLeftInLine

        public int spaceLeftInLine()
        Returns:
        the number of characters still available in the current fits line.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • append

        public void append​(java.lang.String key,
                           int start,
                           int end)