Package com.sun.jna.platform.win32.COM

# Class WbemcliUtil.WmiQuery<T extends Enum<T>>

java.lang.Object
com.sun.jna.platform.win32.COM.WbemcliUtil.WmiQuery<T>

Enclosing class:
  WbemcliUtil

public static class WbemcliUtil.WmiQuery<T extends Enum<T>> extends Object
Helper class wrapping information required for a WMI query.

## Constructor Summary

Constructors
Constructor
Description
`WmiQuery(String wmiClassName, Class<T> propertyEnum)`
Instantiate a WMI Query in the default namespace
`WmiQuery(String nameSpace, String wmiClassName, Class<T> propertyEnum)`
Instantiate a WmiQuery.

## Method Summary

Modifier and Type
Method
Description
`WbemcliUtil.WmiResult<T>`
`execute()`
Query WMI for values, with no timeout.
`WbemcliUtil.WmiResult<T>`
`execute(int timeout)`
Query WMI for values, with a specified timeout.
`String`
`getNameSpace()`
`Class<T>`
`getPropertyEnum()`
`String`
`getWmiClassName()`
`void`
`setNameSpace(String nameSpace)`
`void`
`setWmiClassName(String wmiClassName)`

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

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

## Constructor Details

### WmiQuery

public WmiQuery(String nameSpace, String wmiClassName, Class<T> propertyEnum)
Instantiate a WmiQuery.

Parameters:
  `nameSpace` - The WMI namespace to use.
  `wmiClassName` - The WMI class to use. Optionally include a WQL WHERE clause with filters results to properties matching the input.
  `propertyEnum` - An enum for type mapping.

### WmiQuery

public WmiQuery(String wmiClassName, Class<T> propertyEnum)
Instantiate a WMI Query in the default namespace

Parameters:
  `wmiClassName` - The WMI Class to use. May include a WHERE clause with filtering conditions.
  `propertyEnum` - An Enum that contains the properties to query

## Method Details

### getPropertyEnum

public Class<T> getPropertyEnum()

Returns:
  The enum containing the properties

### getNameSpace

public String getNameSpace()

Returns:
  The namespace

### setNameSpace

public void setNameSpace(String nameSpace)

Parameters:
  `nameSpace` - The namespace to set

### getWmiClassName

public String getWmiClassName()

Returns:
  The class name

### setWmiClassName

public void setWmiClassName(String wmiClassName)

Parameters:
  `wmiClassName` - The classname to set

### execute

public WbemcliUtil.WmiResult<T> execute()
Query WMI for values, with no timeout.

Returns:
  a WmiResult object containing the query results, wrapping an EnumMap

### execute

public WbemcliUtil.WmiResult<T> execute(int timeout) throws TimeoutException
Query WMI for values, with a specified timeout.

Parameters:
  `timeout` - Number of milliseconds to wait for results before timing out. If `Wbemcli.WBEM_INFINITE` (-1), will always wait for results. If a timeout occurs, throws a `TimeoutException`.
Returns:
  a WmiResult object containing the query results, wrapping an EnumMap
Throws:
  `TimeoutException` - if the query times out before completion