Class FileInfoContainer


  • public class FileInfoContainer
    extends java.lang.Object
    The class is one from the main classes in the preprocessor because it describes a preprocessing file and contains business logic for the process
    • Field Detail

      • DIRECTIVE_HASH_PREFIXED

        private static final java.util.regex.Pattern DIRECTIVE_HASH_PREFIXED
      • DIRECTIVE_TWO_DOLLARS_PREFIXED

        private static final java.util.regex.Pattern DIRECTIVE_TWO_DOLLARS_PREFIXED
      • DIRECTIVE_SINGLE_DOLLAR_PREFIXED

        private static final java.util.regex.Pattern DIRECTIVE_SINGLE_DOLLAR_PREFIXED
      • DIRECTIVE_TAIL_REMOVER

        private static final java.util.regex.Pattern DIRECTIVE_TAIL_REMOVER
      • sourceFile

        private final java.io.File sourceFile
        The source file for the container
      • forCopyOnly

        private final boolean forCopyOnly
        The flag shows that the file should be just copied into the destination place without any preprocessing
      • excludedFromPreprocessing

        private boolean excludedFromPreprocessing
        The flag shows that the file has been excluded from preprocessing and it will not be preprocessed and copied
      • destFolder

        private java.lang.String destFolder
        The destination directory for the file
      • destFileName

        private java.lang.String destFileName
        The destination name for the file
    • Constructor Detail

      • FileInfoContainer

        public FileInfoContainer​(java.io.File srcFile,
                                 java.lang.String dstFileName,
                                 boolean copyOnly)
    • Method Detail

      • getSourceFile

        public java.io.File getSourceFile()
      • isExcludedFromPreprocessing

        public boolean isExcludedFromPreprocessing()
      • isForCopyOnly

        public boolean isForCopyOnly()
      • getDestinationDir

        public java.lang.String getDestinationDir()
      • getDestinationName

        public java.lang.String getDestinationName()
      • getDestinationFilePath

        public java.lang.String getDestinationFilePath()
      • toString

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

        private boolean isDoubleDollarPrefixed​(java.lang.String line,
                                               PreprocessorContext context)
      • isSingleDollarPrefixed

        private boolean isSingleDollarPrefixed​(java.lang.String line,
                                               PreprocessorContext context)
      • isHashPrefixed

        private boolean isHashPrefixed​(java.lang.String line,
                                       PreprocessorContext context)
      • extractHashPrefixedDirective

        private java.lang.String extractHashPrefixedDirective​(java.lang.String line,
                                                              PreprocessorContext context)
      • extractDoubleDollarPrefixedDirective

        private java.lang.String extractDoubleDollarPrefixedDirective​(java.lang.String line,
                                                                      PreprocessorContext context)
      • extractSingleDollarPrefixedDirective

        private java.lang.String extractSingleDollarPrefixedDirective​(java.lang.String line,
                                                                      PreprocessorContext context)
      • preprocessFile

        public PreprocessingState preprocessFile​(PreprocessingState state,
                                                 PreprocessorContext context)
                                          throws java.io.IOException
        Preprocess file, NB! it doesn't clear local variables automatically for cloned contexts
        Parameters:
        state - the start preprocessing state, can be null
        context - the preprocessor context, must not be null
        Returns:
        the state for the preprocessed file
        Throws:
        java.io.IOException - it will be thrown for IO errors
        PreprocessorException - it will be thrown for violation of preprocessing logic, like undefined variable
      • findTailRemover

        private static java.lang.String findTailRemover​(java.lang.String str,
                                                        PreprocessorContext context)
      • checkDirectiveArgumentRoughly

        private boolean checkDirectiveArgumentRoughly​(AbstractDirectiveHandler directive,
                                                      java.lang.String rest)
      • setDestinationDir

        public void setDestinationDir​(java.lang.String destDir)
      • setDestinationName

        public void setDestinationName​(java.lang.String destName)
      • setExcluded

        public void setExcluded​(boolean flag)