From 6bb6baced90c0605814552bb986de7ecf924f108 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Mon, 5 Jan 2026 16:38:52 +0100 Subject: [PATCH] Fixed builders --- .../Tools/MIME/ApplicationBuilder.cs | 9 +++- .../Tools/MIME/AudioBuilder.cs | 9 +++- app/MindWork AI Studio/Tools/MIME/Builder.cs | 42 +++++-------------- .../Tools/MIME/ImageBuilder.cs | 9 +++- .../Tools/MIME/TextBuilder.cs | 9 +++- .../Tools/MIME/VideoBuilder.cs | 9 +++- 6 files changed, 45 insertions(+), 42 deletions(-) diff --git a/app/MindWork AI Studio/Tools/MIME/ApplicationBuilder.cs b/app/MindWork AI Studio/Tools/MIME/ApplicationBuilder.cs index 43cb9443..25193088 100644 --- a/app/MindWork AI Studio/Tools/MIME/ApplicationBuilder.cs +++ b/app/MindWork AI Studio/Tools/MIME/ApplicationBuilder.cs @@ -1,10 +1,15 @@ namespace AIStudio.Tools.MIME; -public class ApplicationBuilder : Builder, ISubtype +public class ApplicationBuilder : ISubtype { - private ApplicationBuilder() + private readonly BaseType baseType; + + private ApplicationBuilder(BaseType baseType) { + this.baseType = baseType; } + + public static ApplicationBuilder Create() => new(BaseType.APPLICATION); private ApplicationSubtype subtype; diff --git a/app/MindWork AI Studio/Tools/MIME/AudioBuilder.cs b/app/MindWork AI Studio/Tools/MIME/AudioBuilder.cs index e869f345..d45a67c1 100644 --- a/app/MindWork AI Studio/Tools/MIME/AudioBuilder.cs +++ b/app/MindWork AI Studio/Tools/MIME/AudioBuilder.cs @@ -1,11 +1,16 @@ namespace AIStudio.Tools.MIME; -public class AudioBuilder : Builder, ISubtype +public class AudioBuilder : ISubtype { - private AudioBuilder() + private readonly BaseType baseType; + + private AudioBuilder(BaseType baseType) { + this.baseType = baseType; } + public static AudioBuilder Create() => new(BaseType.AUDIO); + private AudioSubtype subtype; public AudioBuilder UseSubtype(string subType) diff --git a/app/MindWork AI Studio/Tools/MIME/Builder.cs b/app/MindWork AI Studio/Tools/MIME/Builder.cs index f437731e..3a45b8db 100644 --- a/app/MindWork AI Studio/Tools/MIME/Builder.cs +++ b/app/MindWork AI Studio/Tools/MIME/Builder.cs @@ -2,11 +2,9 @@ namespace AIStudio.Tools.MIME; public class Builder { - protected Builder() + private Builder() { } - - protected BaseType baseType; public static Builder Create() => new(); @@ -48,33 +46,13 @@ public class Builder } } - public ApplicationBuilder UseApplication() - { - this.baseType = BaseType.APPLICATION; - return (ApplicationBuilder)this; - } - - public TextBuilder UseText() - { - this.baseType = BaseType.TEXT; - return (TextBuilder)this; - } - - public AudioBuilder UseAudio() - { - this.baseType = BaseType.AUDIO; - return (AudioBuilder)this; - } - - public ImageBuilder UseImage() - { - this.baseType = BaseType.IMAGE; - return (ImageBuilder)this; - } - - public VideoBuilder UseVideo() - { - this.baseType = BaseType.VIDEO; - return (VideoBuilder)this; - } + public ApplicationBuilder UseApplication() => ApplicationBuilder.Create(); + + public TextBuilder UseText() => TextBuilder.Create(); + + public AudioBuilder UseAudio() => AudioBuilder.Create(); + + public ImageBuilder UseImage() => ImageBuilder.Create(); + + public VideoBuilder UseVideo() => VideoBuilder.Create(); } \ No newline at end of file diff --git a/app/MindWork AI Studio/Tools/MIME/ImageBuilder.cs b/app/MindWork AI Studio/Tools/MIME/ImageBuilder.cs index 4d12612f..f93915cf 100644 --- a/app/MindWork AI Studio/Tools/MIME/ImageBuilder.cs +++ b/app/MindWork AI Studio/Tools/MIME/ImageBuilder.cs @@ -1,11 +1,16 @@ namespace AIStudio.Tools.MIME; -public class ImageBuilder : Builder, ISubtype +public class ImageBuilder : ISubtype { - private ImageBuilder() + private readonly BaseType baseType; + + private ImageBuilder(BaseType baseType) { + this.baseType = baseType; } + public static ImageBuilder Create() => new(BaseType.IMAGE); + private ImageSubtype subtype; public ImageBuilder UseSubtype(string subType) diff --git a/app/MindWork AI Studio/Tools/MIME/TextBuilder.cs b/app/MindWork AI Studio/Tools/MIME/TextBuilder.cs index abf2b944..3a75e2b6 100644 --- a/app/MindWork AI Studio/Tools/MIME/TextBuilder.cs +++ b/app/MindWork AI Studio/Tools/MIME/TextBuilder.cs @@ -1,10 +1,15 @@ namespace AIStudio.Tools.MIME; -public class TextBuilder : Builder, ISubtype +public class TextBuilder : ISubtype { - private TextBuilder() + private readonly BaseType baseType; + + private TextBuilder(BaseType baseType) { + this.baseType = baseType; } + + public static TextBuilder Create() => new(BaseType.TEXT); private TextSubtype subtype; diff --git a/app/MindWork AI Studio/Tools/MIME/VideoBuilder.cs b/app/MindWork AI Studio/Tools/MIME/VideoBuilder.cs index ce6375e7..ba099629 100644 --- a/app/MindWork AI Studio/Tools/MIME/VideoBuilder.cs +++ b/app/MindWork AI Studio/Tools/MIME/VideoBuilder.cs @@ -1,10 +1,15 @@ namespace AIStudio.Tools.MIME; -public class VideoBuilder : Builder, ISubtype +public class VideoBuilder : ISubtype { - private VideoBuilder() + private readonly BaseType baseType; + + private VideoBuilder(BaseType baseType) { + this.baseType = baseType; } + + public static VideoBuilder Create() => new(BaseType.VIDEO); private VideoSubtype subtype;