Class FileCodeWriter


  • public class FileCodeWriter
    extends CodeWriter
    Writes all the source files under the specified file folder.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private boolean readOnly
      specify whether or not to mark the generated files read-only
      private java.util.Set<java.io.File> readonlyFiles
      Files that shall be marked as read only.
      private java.io.File target
      The target directory to put source code.
    • Constructor Summary

      Constructors 
      Constructor Description
      FileCodeWriter​(java.io.File target)  
      FileCodeWriter​(java.io.File target, boolean readOnly)  
      FileCodeWriter​(java.io.File target, boolean readOnly, java.lang.String encoding)  
      FileCodeWriter​(java.io.File target, java.lang.String encoding)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Called by CodeModel at the end of the process.
      protected java.io.File getFile​(JPackage pkg, java.lang.String fileName)  
      java.io.OutputStream openBinary​(JPackage pkg, java.lang.String fileName)
      Called by CodeModel to store the specified file.
      private static java.lang.String toDirName​(JPackage pkg)
      Converts a package name to the directory name.
      • Methods inherited from class java.lang.Object

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

      • target

        private final java.io.File target
        The target directory to put source code.
      • readOnly

        private final boolean readOnly
        specify whether or not to mark the generated files read-only
      • readonlyFiles

        private final java.util.Set<java.io.File> readonlyFiles
        Files that shall be marked as read only.
    • Constructor Detail

      • FileCodeWriter

        public FileCodeWriter​(java.io.File target)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • FileCodeWriter

        public FileCodeWriter​(java.io.File target,
                              java.lang.String encoding)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • FileCodeWriter

        public FileCodeWriter​(java.io.File target,
                              boolean readOnly)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • FileCodeWriter

        public FileCodeWriter​(java.io.File target,
                              boolean readOnly,
                              java.lang.String encoding)
                       throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • openBinary

        public java.io.OutputStream openBinary​(JPackage pkg,
                                               java.lang.String fileName)
                                        throws java.io.IOException
        Description copied from class: CodeWriter
        Called by CodeModel to store the specified file. The callee must allocate a storage to store the specified file.

        The returned stream will be closed before the next file is stored. So the callee can assume that only one OutputStream is active at any given time.

        Specified by:
        openBinary in class CodeWriter
        Parameters:
        pkg - The package of the file to be written.
        fileName - File name without the path. Something like "Foo.java" or "Bar.properties"
        Throws:
        java.io.IOException
      • getFile

        protected java.io.File getFile​(JPackage pkg,
                                       java.lang.String fileName)
                                throws java.io.IOException
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Description copied from class: CodeWriter
        Called by CodeModel at the end of the process.
        Specified by:
        close in class CodeWriter
        Throws:
        java.io.IOException
      • toDirName

        private static java.lang.String toDirName​(JPackage pkg)
        Converts a package name to the directory name.