Skip to content

Summary of existing GOOL library

Johan edited this page Aug 8, 2014 · 9 revisions

API File (io)

This section will describe de GOOL Library File, dedicated to file managing. The API File files are in the folders gool/recognizer/xxx/io/ and gool/generator/yyy/io/ where xxx is a platform of the input and yyy is a platform of the output. This library is implented for JAVA, ANDROID (with direct mapping) and C++, PYTHON, CSHARP, ObjC (with indirect mapping).

io.GoolFile

io.GoolFile : A class used to represent a file or a directory, it's similar to java.io.File . These methods are

  • boolean io.GoolFile.exists()
  • boolean io.GoolFile.createNewFile()
  • boolean io.GoolFile.deleteFile()

io.GoolFileReader

io.GoolFileReader : A class for reading character files, it's similar to java.io.FileReader .

io.GoolFileWriter

io.GoolFileWriter : A class for writing character files, it's similar to java.io.FileWriter .

io.GoolBufferedReader

io.GoolBufferedReader : A file reader class using a character buffer, it's similar to java.io.BufferedReader . These methods are

  • int io.GoolBufferedReader.read()
  • String io.GoolBufferedReader.readLine()
  • void io.GoolBufferedReader.close()

io.GoolBufferedWriter

io.GoolBufferedWriter : A file writer class using a character buffer, it's similar to java.io.BufferedWriter . These methods are

  • void io.GoolBufferedWriter.write(int car)
  • void io.GoolBufferedWriter.write(String cars,int from,int lg)
  • void io.GoolBufferedWriter.close()

io.GoolDataInputStream

io.GoolDataInputStream : A file reader class using a byte buffer, it's similar to java.io.DataInputStream . These methods are

  • byte[] io.GoolDataInputStream.readBytes(int size)

io.GoolDataOutputStream

io.GoolDataOutputStream : A file writer class using a byte buffer, it's similar to java.io.DataOutputStream . These methods are

  • void io.GoolDataOutputStream.writeBytes(byte[] msg)

API Thread (thread)

This section will describe de GOOL Library Thread, dedicated to concurrent threading. The API Thread files are in the folders gool/recognizer/xxx/thread/ and gool/generator/yyy/thread/ where xxx is a platform of the input and yyy is a platform of the output. This library is implented for JAVA, ANDROID (with direct mapping) and C++, PYTHON, CSHARP, ObjC (with indirect mapping).

thread.GoolThread

thread.GoolThread : A thread class, it's similar to java.lang.Thread . These methods are

  • void thread.GoolThread.start()
  • void thread.GoolThread.stop()
  • void thread.GoolThread.suspend()
  • void thread.GoolThread.interrupt()
  • void thread.GoolThread.join()

thread.GoolRunnable

thread.GoolRunnable : A runnable interface, it's similar to java.lang.Runnable . These methods are

  • void thread.GoolRunnable.run()

thread.GoolSemaphore

thread.GoolSemaphore : A semaphore class, it's similar to java.util.concurrent.Semaphore . These methods are

  • void thread.GoolSemaphore.acquire()
  • void thread.GoolSemaphore.release()

API Network (net)

This section will describe de GOOL Library Network, dedicated to network. The API Network files are in the folders gool/recognizer/xxx/net/ and gool/generator/yyy/net/ where xxx is a platform of the input and yyy is a platform of the output. This library is implented for JAVA, ANDROID (with direct mapping) and C++, PYTHON, CSHARP, ObjC (with indirect mapping).

net.GoolInetAddress

net.GoolInetAddress : A network address class, it's similar to java.net.InetAddress . These methods are

  • net.GoolInetAddress net.GoolInetAddress.getByName(String host)
  • String net.GoolInetAddress.getHostName()
  • String net.GoolInetAddress.getHostAddress()

net.GoolDatagramSocket

net.GoolDatagramSocket : A network upd socket class, it's similar to java.net.DatagramSocket .

net.GoolDatagramPacket

net.GoolDatagramPacket : A network packet of socket class, it's similar to java.net.DatagramPacket . These methods are

  • net.GoolInetAddress net.GoolDatagramPacket.getAddress()
  • byte[] net.GoolDatagramPacket.getData()
  • int net.GoolDatagramPacket.getPort()

net.GoolSocket

net.GoolSocket : A network socket class, it's similar to java.net.Socket . These methods are

  • void net.GoolSocket.bind(net.GoolInetAddress adds)
  • void net.GoolSocket.connect(net.GoolInetAddress adds)
  • void net.GoolSocket.disconnect()
  • io.GoolDataInputStream net.GoolSocket.getInputStream()
  • io.GoolDataOutputStream net.GoolSocket.getOutputStream()
  • net.GoolInetAddress net.GoolSocket.getInetAddress()
  • void net.GoolSocket.close()

net.GoolServerSocket

net.GoolServerSocket : A network tcp socket class, it's similar to java.net.ServerSocket . These methods are

  • net.GoolSocket net.GoolServerSocket.accept()
  • void net.GoolServerSocket.bind(net.GoolInetAddress adds)
  • net.GoolInetAddress net.GoolServerSocket.getInetAddress()
  • void net.GoolServerSocket.close()

API ClassLoader (classloader)

This section will describe de GOOL Library CLASSLOADER, dedicated to dynamic class loading. The API Network files are in the folders gool/recognizer/xxx/classloader/ and gool/generator/yyy/classloader/ where xxx is a platform of the input and yyy is a platform of the output. This library is implented for JAVA, ANDROID (with direct mapping) and PYTHON, CSHARP (with indirect mapping). Prototypes are available for C++/Linux under the file gool/generator/cpp/classloader/ClassloaderForCppLinux.cpp ; and for C++/Windows under the file gool/generator/cpp/classloader/ClassloaderForCppWindow.cpp. Yet to be tested / corrected. Moreover, we need to implement the distinction between C++/Linux and C++/Windows platforms. ObjectiveC output is yet to do.