All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jn.langx.util.os.hardware.cpu.LinuxGetCpuIdStreamHandler Maven / Gradle / Ivy

Go to download

Java lang extensions for java6+, a supplement to , replacement of a Guava, commons-lang. Core utilities, Collection utilities, IO utilities, Cache, Configuration library ...

There is a newer version: 4.8.2
Show newest version
package com.jn.langx.util.os.hardware.cpu;

import com.jn.langx.util.Emptys;
import com.jn.langx.util.Strings;
import com.jn.langx.util.collection.Collects;
import com.jn.langx.util.function.Predicate;
import com.jn.langx.util.io.IOs;

import java.io.IOException;
import java.util.List;

class LinuxGetCpuIdStreamHandler extends GetCpuIdStreamHandler {

    @Override
    public void start() throws IOException {
        outputContent.reset();
        if (this.subProcessOutputStream != null) {
            List lines = IOs.readLines(this.subProcessOutputStream);
            String cpuId = Collects.findFirst(lines, new Predicate() {
                @Override
                public boolean test(String line) {
                    return Strings.isNotBlank(line);
                }
            });
            if (Strings.startsWith(cpuId, "ID:")) {
                cpuId = cpuId.substring("ID:".length());
            }
            if (Emptys.isNotEmpty(cpuId)) {
                outputContent.set(cpuId.trim());
            }
        }
    }

    @Override
    public String getCpuId() {
        return outputContent.get();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy