Package org.machanism.machai.project
Class ProjectProcessor
java.lang.Object
org.machanism.machai.project.ProjectProcessor
Abstract base class for processing project structures and modules.
Handles project folder scanning and delegates module or folder-specific processing to subclasses.
Usage Example:
ProjectProcessor processor = ...;
processor.scanFolder(new File("/path/to/project"));
- Since:
- 0.0.2
- Author:
- Viktor Tovstyi
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringName of the directory holding temporary documentation inputs. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetProjectLayout(File projectDir) Returns the detectedProjectLayoutfor the specified project directory.abstract voidprocessFolder(ProjectLayout processor) Processes a project folder layout.protected voidprocessModule(File projectDir, String module) Processes a given project module by recursively scanning.voidscanFolder(File projectDir) Scans the main project directory, detects modules, and processes them.
-
Field Details
-
MACHAI_TEMP_DIR
Name of the directory holding temporary documentation inputs.- See Also:
-
-
Constructor Details
-
ProjectProcessor
public ProjectProcessor()
-
-
Method Details
-
scanFolder
Scans the main project directory, detects modules, and processes them. If modules are present, each module is processed. Otherwise, the entire folder structure is processed.- Parameters:
projectDir- The root project directory to scan.- Throws:
IOException- If an error occurs reading folders or files.
-
processModule
Processes a given project module by recursively scanning.- Parameters:
projectDir- The main project directory.module- The module name to process.- Throws:
IOException- If an error occurs during processing.
-
processFolder
Processes a project folder layout. Must be implemented by subclasses to define custom logic.- Parameters:
processor- TheProjectLayoutobject representing the folder structure to process.
-
getProjectLayout
Returns the detectedProjectLayoutfor the specified project directory.- Parameters:
projectDir- The root project directory to analyze.- Returns:
- Detected
ProjectLayout. - Throws:
FileNotFoundException- If the directory does not exist.
-