1 package org.metricshub.ipmi.client.model;
2
3 /*-
4 * ╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲
5 * IPMI Java Client
6 * ჻჻჻჻჻჻
7 * Copyright 2023 MetricsHub
8 * ჻჻჻჻჻჻
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU Lesser General Public License as
11 * published by the Free Software Foundation, either version 3 of the
12 * License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Lesser Public License for more details.
18 *
19 * You should have received a copy of the GNU General Lesser Public
20 * License along with this program. If not, see
21 * <http://www.gnu.org/licenses/lgpl-3.0.html>.
22 * ╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱╲╱
23 */
24
25 import java.util.List;
26
27 import org.metricshub.ipmi.core.coding.commands.fru.record.BoardInfo;
28 import org.metricshub.ipmi.core.coding.commands.fru.record.ChassisInfo;
29 import org.metricshub.ipmi.core.coding.commands.fru.record.FruRecord;
30 import org.metricshub.ipmi.core.coding.commands.fru.record.ProductInfo;
31 import org.metricshub.ipmi.core.coding.commands.sdr.record.FruDeviceLocatorRecord;
32
33 /**
34 * Wraps the Field Replaceable Unit information:
35 * <ul>
36 * <li>The FRU locator which contains the FRU location information.</li>
37 * <li>The FRU records containing {@link BoardInfo}, {@link ChassisInfo} and/or {@link ProductInfo}.</li>
38 * </ul>
39 */
40 public class Fru {
41
42 private FruDeviceLocatorRecord fruLocator;
43 private List<FruRecord> fruRecords;
44
45 public Fru(FruDeviceLocatorRecord fruLocator, List<FruRecord> fruRecords) {
46 this.fruLocator = fruLocator;
47 this.fruRecords = fruRecords;
48 }
49
50 /**
51 *
52 * @return Current {@link FruDeviceLocatorRecord} instance
53 */
54 public FruDeviceLocatorRecord getFruLocator() {
55 return fruLocator;
56 }
57
58 /**
59 *
60 * @return Current {@link FruRecord} instance
61 */
62 public List<FruRecord> getFruRecords() {
63 return fruRecords;
64 }
65
66 }