freenet.support.CPUInformation

## Class IntelInfoImpl

- java.lang.Object
- - freenet.support.CPUInformation.CPUIDCPUInfo
  - - freenet.support.CPUInformation.IntelInfoImpl

- All Implemented Interfaces:
    CPUInfo, IntelCPUInfo

       class IntelInfoImpl
      extends CPUIDCPUInfo
      implements IntelCPUInfo

  Moved out of CPUID.java
  Since:
    0.8.7

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static boolean` | `isAtomCompatible`
    `protected static boolean` | `isCore2Compatible`
    `protected static boolean` | `isCoreiCompatible`
    `protected static boolean` | `isPentium2Compatible`
    `protected static boolean` | `isPentium3Compatible`
    `protected static boolean` | `isPentium4Compatible`
    `protected static boolean` | `isPentiumCompatible`
    `protected static boolean` | `isPentiumMCompatible`
    `protected static boolean` | `isPentiumMMXCompatible`
    `protected static String` | `modelString`

    - ### Fields inherited from class freenet.support.CPUInformation.CPUIDCPUInfo

      `isX64`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `IntelInfoImpl()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getCPUModelString()`
    `boolean` | `hasX64()`
    `boolean` | `IsAtomCompatible()`
    `boolean` | `IsCore2Compatible()`
    `boolean` | `IsCoreiCompatible()`
    `boolean` | `IsPentium2Compatible()`
    `boolean` | `IsPentium3Compatible()`
    `boolean` | `IsPentium4Compatible()`
    `boolean` | `IsPentiumCompatible()`
    `boolean` | `IsPentiumMCompatible()`
    `boolean` | `IsPentiumMMXCompatible()`

    - ### Methods inherited from class freenet.support.CPUInformation.CPUIDCPUInfo

      `getVendor, hasMMX, hasSSE, hasSSE2, hasSSE3, hasSSE41, hasSSE42, hasSSE4A`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface freenet.support.CPUInformation.CPUInfo

      `getVendor, hasMMX, hasSSE, hasSSE2, hasSSE3, hasSSE41, hasSSE42, hasSSE4A`

- - ### Field Detail

    - #### isPentiumCompatible

          protected static boolean isPentiumCompatible

    - #### isPentiumMMXCompatible

          protected static boolean isPentiumMMXCompatible

    - #### isPentium2Compatible

          protected static boolean isPentium2Compatible

    - #### isPentium3Compatible

          protected static boolean isPentium3Compatible

    - #### isPentium4Compatible

          protected static boolean isPentium4Compatible

    - #### isPentiumMCompatible

          protected static boolean isPentiumMCompatible

    - #### isAtomCompatible

          protected static boolean isAtomCompatible

    - #### isCore2Compatible

          protected static boolean isCore2Compatible

    - #### isCoreiCompatible

          protected static boolean isCoreiCompatible

    - #### modelString

          protected static String modelString

  - ### Constructor Detail

    - #### IntelInfoImpl

          IntelInfoImpl()

  - ### Method Detail

    - #### IsPentiumCompatible

          public boolean IsPentiumCompatible()

      Specified by:
        `IsPentiumCompatible` in interface `IntelCPUInfo`
      Returns:
        true if the CPU is at least a Pentium CPU.

    - #### IsPentiumMMXCompatible

          public boolean IsPentiumMMXCompatible()

      Specified by:
        `IsPentiumMMXCompatible` in interface `IntelCPUInfo`
      Returns:
        true if the CPU is at least a Pentium which implements the MMX instruction/feature set.

    - #### IsPentium2Compatible

          public boolean IsPentium2Compatible()

      Specified by:
        `IsPentium2Compatible` in interface `IntelCPUInfo`
      Returns:
        true if the CPU implements at least the p6 instruction set (Pentium II or better). Please note that an PentimPro CPU causes/should cause this method to return false (due to that CPU using a very early implementation of the p6 instruction set. No MMX etc.)

    - #### IsPentium3Compatible

          public boolean IsPentium3Compatible()

      Specified by:
        `IsPentium3Compatible` in interface `IntelCPUInfo`
      Returns:
        true if the CPU implements at least a Pentium III level of the p6 instruction/feature set.

    - #### IsPentium4Compatible

          public boolean IsPentium4Compatible()

      Specified by:
        `IsPentium4Compatible` in interface `IntelCPUInfo`
      Returns:
        true if the CPU implements at least a Pentium IV level instruction/feature set.

    - #### IsPentiumMCompatible

          public boolean IsPentiumMCompatible()

      Specified by:
        `IsPentiumMCompatible` in interface `IntelCPUInfo`
      Returns:
        true if the CPU implements at least a Pentium M level instruction/feature set.

    - #### IsAtomCompatible

          public boolean IsAtomCompatible()

      Specified by:
        `IsAtomCompatible` in interface `IntelCPUInfo`
      Returns:
        true if the CPU implements at least a Atom level instruction/feature set.

    - #### IsCore2Compatible

          public boolean IsCore2Compatible()

      Specified by:
        `IsCore2Compatible` in interface `IntelCPUInfo`
      Returns:
        true if the CPU implements at least a Core2 level instruction/feature set.

    - #### IsCoreiCompatible

          public boolean IsCoreiCompatible()

      Specified by:
        `IsCoreiCompatible` in interface `IntelCPUInfo`
      Returns:
        true if the CPU implements at least a Corei level instruction/feature set.

    - #### getCPUModelString

          public String getCPUModelString()
                                   throws UnknownCPUException

      Specified by:
        `getCPUModelString` in interface `CPUInfo`
      Returns:
        A string detailing what type of CPU that is present in the machine. I.e. 'Pentium IV' etc.
      Throws:
        `UnknownCPUException` - If for any reason the retrieval of the requested information failed. The message encapsulated in the execption indicates the cause of the failure.

    - #### hasX64

          public boolean hasX64()

      Specified by:
        `hasX64` in class `CPUIDCPUInfo`