1
0
mirror of https://github.com/chylex/Code-Statistics.git synced 2025-04-09 19:15:41 +02:00

Add essential Java handling classes

This commit is contained in:
chylex 2016-02-19 15:57:12 +01:00
parent efad2b0b44
commit 3656b240c9
4 changed files with 46 additions and 2 deletions

View File

@ -76,6 +76,8 @@
<Compile Include="Handling\General\UnknownHandler.cs" />
<Compile Include="Handling\Languages\AbstractLanguageFileHandler.cs" />
<Compile Include="Handling\Languages\JavaHandler.cs" />
<Compile Include="Handling\Languages\Java\JavaFileInfo.cs" />
<Compile Include="Handling\Languages\Java\JavaState.cs" />
<Compile Include="Handling\Utils\FileIntValue.cs" />
<Compile Include="Handling\Utils\ParseUtils.cs" />
<Compile Include="Handling\Utils\StringUtils.cs" />

View File

@ -0,0 +1,9 @@
namespace CodeStatistics.Handling.Languages.Java{
struct JavaFileInfo{
public string Package;
public JavaFileInfo(bool _){
Package = "";
}
}
}

View File

@ -0,0 +1,21 @@
using CodeStatistics.Input;
using System.Collections.Generic;
namespace CodeStatistics.Handling.Languages.Java{
class JavaState{
private readonly Dictionary<File,JavaFileInfo> fileInfo = new Dictionary<File,JavaFileInfo>();
public JavaFileInfo Process(File file){
JavaFileInfo info = new JavaFileInfo(false);
fileInfo.Add(file,info);
// TODO
return info;
}
public JavaFileInfo GetFile(File file){
return fileInfo[file];
}
}
}

View File

@ -1,6 +1,9 @@
using CodeStatistics.Input;
using System.IO;
using CodeStatistics.Handling.Utils;
using File = CodeStatistics.Input.File;
using CodeStatistics.Handling.Languages.Java;
namespace CodeStatistics.Handling.Languages {
namespace CodeStatistics.Handling.Languages{
class JavaHandler : AbstractLanguageFileHandler{
public override int Weight{
get { return 50; }
@ -12,12 +15,21 @@ namespace CodeStatistics.Handling.Languages {
public override void SetupProject(Variables.Root variables){
base.SetupProject(variables);
variables.AddStateObject(this,new JavaState());
}
public override void Process(File file, Variables.Root variables){
base.Process(file,variables);
JavaState state = variables.GetStateObject<JavaState>(this);
JavaFileInfo info = state.Process(file);
// TODO
}
protected override object GetFileObject(FileIntValue fi, Variables.Root variables){
JavaState state = variables.GetStateObject<JavaState>(this);
return new { package = state.GetFile(fi.File).Package.Replace('.','/')+'/', file = Path.GetFileName(fi.File.FullPath), amount = fi.Value };
}
}
}