Add CpuAsset model and CpuRepository for CPU asset management
This commit is contained in:
65
src/main/java/be/seeseepuff/pcinv/models/CpuAsset.java
Normal file
65
src/main/java/be/seeseepuff/pcinv/models/CpuAsset.java
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
package be.seeseepuff.pcinv.models;
|
||||||
|
|
||||||
|
import be.seeseepuff.pcinv.meta.*;
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents a CPU or similar device.
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity
|
||||||
|
@AssetInfo(
|
||||||
|
displayName = "Central Processing Unit",
|
||||||
|
pluralName = "Central Processing Units",
|
||||||
|
type = "cpu"
|
||||||
|
)
|
||||||
|
@Table(name = "cpu_assets")
|
||||||
|
public class CpuAsset implements Asset
|
||||||
|
{
|
||||||
|
@Id
|
||||||
|
@GeneratedValue
|
||||||
|
private long id;
|
||||||
|
|
||||||
|
@OneToOne(orphanRemoval = true)
|
||||||
|
private GenericAsset asset;
|
||||||
|
|
||||||
|
@Description("The number of cores in the CPU.")
|
||||||
|
@Property("Cores")
|
||||||
|
private int cores;
|
||||||
|
|
||||||
|
@Description("The number of threads in the CPU.")
|
||||||
|
@Property("Threads")
|
||||||
|
private int threads;
|
||||||
|
|
||||||
|
@Description("The base clock speed of the CPU in MHz.")
|
||||||
|
@Property("Base Clock Speed (MHz)")
|
||||||
|
private int baseClockSpeed;
|
||||||
|
|
||||||
|
@Description("The boost clock speed of the CPU in MHz.")
|
||||||
|
@Property("Boost Clock Speed (MHz)")
|
||||||
|
@HideInOverview
|
||||||
|
private int boostClockSpeed;
|
||||||
|
|
||||||
|
@Description("The thermal design power (TDP) of the CPU in watts.")
|
||||||
|
@Property("Thermal Design Power (TDP) (W)")
|
||||||
|
private int tdp;
|
||||||
|
|
||||||
|
@Description("The socket type of the CPU.")
|
||||||
|
@Property("Socket Type")
|
||||||
|
@InputList
|
||||||
|
private String socketType;
|
||||||
|
|
||||||
|
@Description("The architecture of the CPU, e.g., x86, ARM, etc.")
|
||||||
|
@Property("Architecture")
|
||||||
|
@HideInOverview
|
||||||
|
@InputList
|
||||||
|
private String architecture;
|
||||||
|
|
||||||
|
@Description("The manufacturing process of the CPU in nanometers.")
|
||||||
|
@Property("Manufacturing Process (nm)")
|
||||||
|
@HideInOverview
|
||||||
|
private int manufacturingProcess;
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package be.seeseepuff.pcinv.repositories;
|
||||||
|
|
||||||
|
import be.seeseepuff.pcinv.models.CpuAsset;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
public interface CpuRepository extends JpaRepository<CpuAsset, Long>, AssetRepository<CpuAsset> {
|
||||||
|
@Override
|
||||||
|
default Class<CpuAsset> getAssetType() {
|
||||||
|
return CpuAsset.class;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user