Dallas Semiconductor 1-Wire API 1.00 Alpha: Class OneWireAccessProvider

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.dalsemi.onewire
Class OneWireAccessProvider

    java.lang.Object
      |
      +--com.dalsemi.onewire.OneWireAccessProvider

public class OneWireAccessProvider
extends Object

The OneWireAccessProvider class manages the Dallas Semiconductor adapter class derivatives of `DSPortAdapter`. An enumeration of all available adapters can be accessed through the member function `EnumerateAllAdapters`. This enables an application to be adapter independent. There are also facilities to get a system appropriate default adapter/port combination.

### Usage

  #### Example 1

  Get an instance of the default 1-Wire adapter. The adapter will be ready to use if no exceptions are thrown.

        try
        {
           DSPortAdapter adapter = OneWireAccessProvider.getDefaultAdapter();

           System.out.println("Adapter: " + adapter.getAdapterName() + " Port: " + adapter.getPortName());

           // use the adapter ...

        }
        catch(Exception e)
        {
           System.out.println("Default adapter not present: " + e);
        }

  #### Example 2

  Enumerate through the available adapters and ports.

        DSPortAdapter adapter;
        String        port;

        // get the adapters
        for (Enumeration adapter_enum = OneWireAccessProvider.enumerateAllAdapters();
                                        adapter_enum.hasMoreElements(); )
        {
           // cast the enum as a DSPortAdapter
           adapter = ( DSPortAdapter ) adapter_enum.nextElement();

           System.out.print("Adapter: " + adapter.getAdapterName() + " with ports: ");

           // get the ports
           for (Enumeration port_enum = adapter.getPortNames();
                   port_enum.hasMoreElements(); )
           {
              // cast the enum as a String
              port = ( String ) port_enum.nextElement();

              System.out.print(port + " ");
           }

           System.out.println();
        }

  #### Example 3

  Display the default adapter name and port without getting an instance of the adapter.

        System.out.println("Default Adapter: " +
                            OneWireAccessProvider.getProperty("onewire.adapter.default"));
        System.out.println("Default Port: " +
                            OneWireAccessProvider.getProperty("onewire.port.default"));

Version:
  0.00, 30 August 2000
See Also:
  `DSPortAdapter`

Method Summary
`static void` | `clearUseOverridingAdapter()` Clears the overriding adapter.
`static Enumeration` | `enumerateAllAdapters()` Gets an `Enumeration` of all 1-Wire adapter types supported.
`static DSPortAdapter` | `getAdapter(String adapterName, String portName)` Finds, opens, and verifies the specified adapter on the indicated port.
`static DSPortAdapter` | `getDefaultAdapter()` Finds, opens, and verifies the default adapter and port.
`static String` | `getProperty(String propName)` Gets the specfied onewire property.
`static void` | `setUseOverridingAdapter(DSPortAdapter adapter)` Sets an overriding adapter.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### enumerateAllAdapters

    public static Enumeration enumerateAllAdapters()

  Gets an `Enumeration` of all 1-Wire adapter types supported. Using this enumeration with the port enumeration for each adapter, a search can be done to find all available hardware adapters.
  Returns:
    `Enumeration` of `DSPortAdapters` in the system

### getAdapter

    public static DSPortAdapter getAdapter(String adapterName,
                                           String portName)
                                    throws OneWireIOException,
                                           OneWireException

  Finds, opens, and verifies the specified adapter on the indicated port.
  Parameters:
    `adapterName` - string name of the adapter (match to result of call to getAdapterName() method in DSPortAdapter)
    `portName` - string name of the port used in the method selectPort() in DSPortAdapter
  Returns:
    `DSPortAdapter` if adapter present
  Throws:
    `OneWireIOException` - when communcation with the adapter fails
    `OneWireException` - when the port or adapter not present

### getDefaultAdapter

    public static DSPortAdapter getDefaultAdapter()
                                           throws OneWireIOException,
                                                  OneWireException

  Finds, opens, and verifies the default adapter and port. Looks for the default adapter/port in the following locations:

  - Use adapter/port in System.properties for onewire.adapter.default, and onewire.port.default properties tags.
  - Use adapter/port from onewire.properties file in current directory or < java.home >/lib/ (Desktop) or /etc/ (TINI)
  - Use smart default
    - Desktop
      - First, TMEX default (Win32 only)
      - Second, if TMEX not present, then DS9097U/(first serial port)
    - TINI, TINIExternalAdapter on port serial1
  Returns:
    `DSPortAdapter` if default adapter present
  Throws:
    `OneWireIOException` - when communcation with the adapter fails
    `OneWireException` - when the port or adapter not present

### getProperty

    public static String getProperty(String propName)

  Gets the specfied onewire property. Looks for the property in the following locations:

  - In System.properties
  - In onewire.properties file in current directory or < java.home >/lib/ (Desktop) or /etc/ (TINI)
  - 'smart' default if property is 'onewire.adapter.default' or 'onewire.port.default'
  Parameters:
    `propName` - string name of the property to read
  Returns:
    `String` representing the property value or `null` if it could not be found (`onewire.adapter.default` and `onewire.port.default` may return a 'smart' default even if property not present)

### setUseOverridingAdapter

    public static void setUseOverridingAdapter(DSPortAdapter adapter)

  Sets an overriding adapter. This adapter will be returned from getAdapter and getDefaultAdapter despite what was requested.
  Parameters:
    `adapter` - adapter to be the override
  See Also:
    `getAdapter(java.lang.String, java.lang.String)`, `getDefaultAdapter()`, `clearUseOverridingAdapter()`

### clearUseOverridingAdapter

    public static void clearUseOverridingAdapter()

  Clears the overriding adapter. The operation of getAdapter and getDefaultAdapter will be returned to normal.
  See Also:
    `getAdapter(java.lang.String, java.lang.String)`, `getDefaultAdapter()`, `setUseOverridingAdapter(com.dalsemi.onewire.adapter.DSPortAdapter)`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD