// Path: src/main/java/org/jutils/jhardware/info/HardwareInfo.java
// @FunctionalInterface
// public interface HardwareInfo {    
//     ComponentInfo getInfo();    
// }
// 
// Path: src/main/java/org/jutils/jhardware/model/Display.java
// public class Display {
//     private String name;
//     private String currentResolution;
//     private String refreshRate;
//     private String[] supportedResolutions;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
//     
//     public String getCurrentResolution() {
//         return currentResolution;
//     }
// 
//     public void setCurrentResolution(String currentResolution) {
//         this.currentResolution = currentResolution;
//     }
// 
//     public String getRefreshRate() {
//         return refreshRate;
//     }
// 
//     public void setRefreshRate(String refreshRate) {
//         this.refreshRate = refreshRate;
//     }
// 
//     public String[] getSupportedResolutions() {
//         return supportedResolutions;
//     }
// 
//     public void setSupportedResolutions(String[] supportedResolutions) {
//         this.supportedResolutions = supportedResolutions;
//     }
//     
//     
// }
// 
// Path: src/main/java/org/jutils/jhardware/model/GraphicsCard.java
// public class GraphicsCard {
// 
//     private String name;
//     private String manufacturer;
//     private String chipType;
//     private String dacType;
//     private String deviceType;
//     private String temperature;
//     private String fanSpeed;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getManufacturer() {
//         return manufacturer;
//     }
// 
//     public void setManufacturer(String manufacturer) {
//         this.manufacturer = manufacturer;
//     }
// 
//     public String getChipType() {
//         return chipType;
//     }
// 
//     public void setChipType(String chipType) {
//         this.chipType = chipType;
//     }
// 
//     public String getDacType() {
//         return dacType;
//     }
// 
//     public void setDacType(String dacType) {
//         this.dacType = dacType;
//     }
// 
//     public String getDeviceType() {
//         return deviceType;
//     }
// 
//     public void setDeviceType(String deviceType) {
//         this.deviceType = deviceType;
//     }
// 
//     public String getTemperature() {
//         return temperature;
//     }
// 
//     public void setTemperature(String temperature) {
//         this.temperature = temperature;
//     }
// 
//     public String getFanSpeed() {
//         return fanSpeed;
//     }
// 
//     public void setFanSpeed(String fanSpeed) {
//         this.fanSpeed = fanSpeed;
//     }
// 
// }
// 
// Path: src/main/java/org/jutils/jhardware/model/GraphicsCardInfo.java
// public class GraphicsCardInfo implements ComponentInfo {
// 
//     List<GraphicsCard> graphicsCards;
// 
//     public List<GraphicsCard> getGraphicsCards() {
//         return graphicsCards;
//     }
// 
//     public void setGraphicsCards(List<GraphicsCard> graphicsCards) {
//         this.graphicsCards = graphicsCards;
//     }
// 
// }


import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.jutils.jhardware.info.HardwareInfo;
import org.jutils.jhardware.model.Display;
import org.jutils.jhardware.model.GraphicsCard;
import org.jutils.jhardware.model.GraphicsCardInfo;
/*
 * Copyright 2016 Javier Garcia Alonso.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.jutils.jhardware.info.graphicscard;


/**
 * Information related to graphics card
 * 
 * @author Javier Garcia Alonso.
 */
public abstract class AbstractGraphicsCardInfo implements HardwareInfo {

    @Override
// Path: src/main/java/org/jutils/jhardware/info/HardwareInfo.java
// @FunctionalInterface
// public interface HardwareInfo {    
//     ComponentInfo getInfo();    
// }
// 
// Path: src/main/java/org/jutils/jhardware/model/Display.java
// public class Display {
//     private String name;
//     private String currentResolution;
//     private String refreshRate;
//     private String[] supportedResolutions;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
//     
//     public String getCurrentResolution() {
//         return currentResolution;
//     }
// 
//     public void setCurrentResolution(String currentResolution) {
//         this.currentResolution = currentResolution;
//     }
// 
//     public String getRefreshRate() {
//         return refreshRate;
//     }
// 
//     public void setRefreshRate(String refreshRate) {
//         this.refreshRate = refreshRate;
//     }
// 
//     public String[] getSupportedResolutions() {
//         return supportedResolutions;
//     }
// 
//     public void setSupportedResolutions(String[] supportedResolutions) {
//         this.supportedResolutions = supportedResolutions;
//     }
//     
//     
// }
// 
// Path: src/main/java/org/jutils/jhardware/model/GraphicsCard.java
// public class GraphicsCard {
// 
//     private String name;
//     private String manufacturer;
//     private String chipType;
//     private String dacType;
//     private String deviceType;
//     private String temperature;
//     private String fanSpeed;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public String getManufacturer() {
//         return manufacturer;
//     }
// 
//     public void setManufacturer(String manufacturer) {
//         this.manufacturer = manufacturer;
//     }
// 
//     public String getChipType() {
//         return chipType;
//     }
// 
//     public void setChipType(String chipType) {
//         this.chipType = chipType;
//     }
// 
//     public String getDacType() {
//         return dacType;
//     }
// 
//     public void setDacType(String dacType) {
//         this.dacType = dacType;
//     }
// 
//     public String getDeviceType() {
//         return deviceType;
//     }
// 
//     public void setDeviceType(String deviceType) {
//         this.deviceType = deviceType;
//     }
// 
//     public String getTemperature() {
//         return temperature;
//     }
// 
//     public void setTemperature(String temperature) {
//         this.temperature = temperature;
//     }
// 
//     public String getFanSpeed() {
//         return fanSpeed;
//     }
// 
//     public void setFanSpeed(String fanSpeed) {
//         this.fanSpeed = fanSpeed;
//     }
// 
// }
// 
// Path: src/main/java/org/jutils/jhardware/model/GraphicsCardInfo.java
// public class GraphicsCardInfo implements ComponentInfo {
// 
//     List<GraphicsCard> graphicsCards;
// 
//     public List<GraphicsCard> getGraphicsCards() {
//         return graphicsCards;
//     }
// 
//     public void setGraphicsCards(List<GraphicsCard> graphicsCards) {
//         this.graphicsCards = graphicsCards;
//     }
// 
// }


// Path: src/main/java/org/jutils/jhardware/info/graphicscard/AbstractGraphicsCardInfo.java
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.jutils.jhardware.info.HardwareInfo;
import org.jutils.jhardware.model.Display;
import org.jutils.jhardware.model.GraphicsCard;
import org.jutils.jhardware.model.GraphicsCardInfo;

/*
 * Copyright 2016 Javier Garcia Alonso.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.jutils.jhardware.info.graphicscard;


/**
 * Information related to graphics card
 * 
 * @author Javier Garcia Alonso.
 */
public abstract class AbstractGraphicsCardInfo implements HardwareInfo {

    @Override
    public GraphicsCardInfo getInfo() {