ModelBackedItem had no actual utility anymore

This commit is contained in:
Matt Nadareski
2026-04-05 01:19:46 -04:00
parent 1997346988
commit 1a10e10fd6
5 changed files with 34 additions and 40 deletions

View File

@@ -12,7 +12,7 @@ namespace SabreTools.Metadata.DatFiles
/// Represents all possible DAT header information
/// </summary>
[JsonObject("header"), XmlRoot("header")]
public sealed class DatHeader : ModelBackedItem<Data.Models.Metadata.Header>, ICloneable, IEquatable<DatHeader>
public sealed class DatHeader : ICloneable, IEquatable<DatHeader>
{
#region Properties
@@ -314,9 +314,21 @@ namespace SabreTools.Metadata.DatFiles
#endregion
#region Private Fields
/// <summary>
/// Internal model
/// </summary>
private readonly Data.Models.Metadata.Header _internal;
#endregion
#region Constructors
public DatHeader() { }
public DatHeader()
{
_internal = new();
}
public DatHeader(Data.Models.Metadata.Header header)
{

View File

@@ -53,7 +53,7 @@ namespace SabreTools.Metadata.DatItems
[XmlInclude(typeof(SoftwareList))]
[XmlInclude(typeof(Sound))]
[XmlInclude(typeof(SourceDetails))]
public abstract class DatItem : ModelBackedItem<Data.Models.Metadata.DatItem>, IEquatable<DatItem>, IComparable<DatItem>, ICloneable
public abstract class DatItem : ICloneable, IComparable<DatItem>, IEquatable<DatItem>
{
#region Properties
@@ -84,6 +84,15 @@ namespace SabreTools.Metadata.DatItems
#endregion
#region Private Fields
/// <summary>
/// Internal model
/// </summary>
protected Data.Models.Metadata.DatItem _internal = new();
#endregion
#region Logging
/// <summary>

View File

@@ -10,7 +10,7 @@ namespace SabreTools.Metadata.DatItems
/// Represents the information specific to a set/game/machine
/// </summary>
[JsonObject("machine"), XmlRoot("machine")]
public sealed class Machine : ModelBackedItem<Data.Models.Metadata.Machine>, ICloneable, IEquatable<Machine>
public sealed class Machine : ICloneable, IEquatable<Machine>
{
#region Properties
@@ -382,6 +382,15 @@ namespace SabreTools.Metadata.DatItems
#endregion
#region Private Fields
/// <summary>
/// Internal model
/// </summary>
private Data.Models.Metadata.Machine _internal;
#endregion
#region Constructors
public Machine()

View File

@@ -1,10 +0,0 @@
namespace SabreTools.Metadata
{
/// <summary>
/// Represents an item that's backed by a constructable item
/// </summary>
public abstract class ModelBackedItem
{
// No common, untyped functionality
}
}

View File

@@ -1,26 +0,0 @@
using System.Xml.Serialization;
using Newtonsoft.Json;
namespace SabreTools.Metadata
{
/// <summary>
/// Represents an item that's backed by a constructable item
/// </summary>
public abstract class ModelBackedItem<T> : ModelBackedItem where T : new()
{
/// <summary>
/// Internal model wrapped by this DatItem
/// </summary>
[JsonIgnore, XmlIgnore]
protected T _internal;
#region Constructors
public ModelBackedItem()
{
_internal = new T();
}
#endregion
}
}