lojix/wam_prolog/src/main/com/thesett/aima/logic/fol/wam/nativemachine/WAMResolvingNativeMachine.java
public static WAMResolvingNativeMachine getInstance(SymbolTableImpl<Integer, String, Object> symbolTable)
        throws ImplementationUnavailableException
    {
        try
        {
            if (!libraryLoadAttempted)
            {
                libraryLoadAttempted = true;

                System.loadLibrary("aima_native");

                libraryFound = true;
            }

            if (libraryFound)
            {
                return new WAMResolvingNativeMachine(symbolTable);
            }
            else
            {
                throw new ImplementationUnavailableException("The native library could not be found.", null, null,
                    null);
            }
        }
        catch (UnsatisfiedLinkError e)
        {
            libraryFound = false;
            throw new ImplementationUnavailableException("The native library could not be found.", e, null, null);
        }
    }
public static WAMResolvingNativeMachine getInstance(SymbolTableImpl<Integer, String, Object> symbolTable)
        throws ImplementationUnavailableException
    {
        try
        {
            if (!libraryLoadAttempted)
            {
                libraryLoadAttempted = true;

                System.loadLibrary("aima_native");

                libraryFound = true;
            }

            if (libraryFound)
            {
                return new WAMResolvingNativeMachine(symbolTable);
            }
            else
            {
                throw new ImplementationUnavailableException("The native library could not be found.", null, null,
                    null);
            }
        }
        catch (UnsatisfiedLinkError e)
        {
            libraryFound = false;
            throw new ImplementationUnavailableException("The native library could not be found.", e, null, null);
        }
    }
public static WAMResolvingNativeMachine getInstance ( SymbolTableImpl < Integer , String , Object > symbolTable ) throws ImplementationUnavailableException { try { if ( ! libraryLoadAttempted ) { libraryLoadAttempted = true ; System . loadLibrary ( "aima_native" ) ; libraryFound = true ; } if ( libraryFound ) { return new WAMResolvingNativeMachine ( symbolTable ) ; } else { throw new ImplementationUnavailableException ( "The native library could not be found." , null , null , null ) ; } } catch ( UnsatisfiedLinkError e ) { libraryFound = false ; throw new ImplementationUnavailableException ( "The native library could not be found." , e , null , null ) ; } }
Creates an instance of this machine, loading and checking for availability of the native implementation library
as required.

@param  symbolTable The symbol table for the machine.

@return An instance of the native l3 machine.

@throws ImplementationUnavailableException If the native library cannot be loaded and linked.
Creates an instance of this machine loading and checking for availability of the native implementation library as required .