## prog.io
Class ConsoleInputManager

    java.lang.Object
      prog.io.ConsoleInputManager

    public final class ConsoleInputManager

extends java.lang.Object

Le sue istanze realizzano canali di comunicazione con il dispositivo di input standard, cioè la tastiera.

Version:
  2.0
Author:
  Mauro Ferrari, Giovanni Pighizzini

Constructor Summary
`ConsoleInputManager()` Apre un canale di comunicazione in lettura dallo standard input.
`ConsoleInputManager(java.lang.String nomeCanale)` Apre un canale di comunicazione in lettura dallo standard input e associa al canale il nome specificato come argomento.

Method Summary
`void` `close()` Chiude il canale di comunicazione.
`java.lang.String` `getNomeCanale()` Restituisce il nome del canale che esegue il metodo.
`boolean` `isClosed()` Per sapere se il canale è chiuso o aperto.
`java.lang.String` `prompt()` Restituisce la stringa del prompt.
`char` `readChar()` Legge un carattere.
`char` `readChar(java.lang.String prompt)` Legge un carattere dopo aver fornito come prompt la stringa specificata come argomento.
`double` `readDouble()` Legge un reale in doppia precisione.
`double` `readDouble(java.lang.String prompt)` Legge un reale in doppia precisione dopo aver fornito come prompt la stringa specificata come argomento.
`int` `readInt()` Legge un intero.
`int` `readInt(java.lang.String prompt)` Legge un intero dopo aver fornito come prompt la stringa specificata come argomento.
`java.lang.String` `readLine()` Legge una linea di testo.
`java.lang.String` `readLine(java.lang.String prompt)` Legge una linea di testo dopo aver fornito come prompt la stringa specificata come argomento.
`long` `readLong()` Legge un intero di tipo `long`.
`long` `readLong(java.lang.String prompt)` Legge un intero di tipo `long` dopo aver fornito come prompt la stringa specificata come argomento.
`boolean` `readSiNo()` Legge un valore del tipo SI/NO.
`boolean` `readSiNo(java.lang.String prompt)` Legge un valore del tipo SI/NO dopo aver fornito come prompt la stringa specificata come argomento.
`boolean` `readYesNo()` Legge un valore del tipo YES/NO.
`boolean` `readYesNo(java.lang.String prompt)` Legge un valore del tipo YES/NO dopo aver fornito come prompt la stringa specificata come argomento.
`void` `setPrompt(java.lang.String prompt)` Per assegnare il prompt specificato dalla stringa `prompt` al canale corrente.
`void` `setVisibleLineNumber(boolean b)` Stabilisce se il prompt visualizzato conterrà o meno il numero di linea.
`void` `setVisibleNomeCanale(boolean b)` Stabilisce se il prompt visualizzato conterrà o meno il nome del canale.
`void` `setVisiblePrompt(boolean b)` Stabilisce se il prompt verrà o meno visualizzato.

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

Constructor Detail

### ConsoleInputManager

    public ConsoleInputManager(java.lang.String nomeCanale)

  Apre un canale di comunicazione in lettura dallo standard input e associa al canale il nome specificato come argomento.

  Parameters:
    `nomeCanale` - il nome del canale da aprire in lettura dallo standar input.

### ConsoleInputManager

    public ConsoleInputManager()

  Apre un canale di comunicazione in lettura dallo standard input.

Method Detail

### setPrompt

    public void setPrompt(java.lang.String prompt)

  Per assegnare il prompt specificato dalla stringa `prompt` al canale corrente. Di default il prompt non viene visualizzato, per farlo visualizzare bisogna utilizzare il metodo `setVisiblePrompt(boolean)`.

  Parameters:
    `prompt` - il valore del prompt.

### setVisibleLineNumber

    public void setVisibleLineNumber(boolean b)

  Stabilisce se il prompt visualizzato conterrà o meno il numero di linea. Di default il numero di linea non viene visualizzato.

  Parameters:
    `b` - se vale `true` il numero di linea verrà visualizzato.

### setVisibleNomeCanale

    public void setVisibleNomeCanale(boolean b)

  Stabilisce se il prompt visualizzato conterrà o meno il nome del canale. Il default è `false`.

  Parameters:
    `b` - se vale `true` il nome del canale verrà visualizzato.

### setVisiblePrompt

    public void setVisiblePrompt(boolean b)

  Stabilisce se il prompt verrà o meno visualizzato. Di default il prompt non viene visualizzato.

  Parameters:
    `b` - se vale `true` il prompt verrà visualizzato.

### prompt

    public java.lang.String prompt()

  Restituisce la stringa del prompt.

  Returns:
    il valore del prompt.

### close

    public void close()

  Chiude il canale di comunicazione.

### isClosed

    public boolean isClosed()

  Per sapere se il canale è chiuso o aperto.

  Returns:
    restituisce `true` se e solo se il canale è chiuso.

### readLine

    public java.lang.String readLine()

  Legge una linea di testo.

  Returns:
    la stringa letta.

### readLine

    public java.lang.String readLine(java.lang.String prompt)

  Legge una linea di testo dopo aver fornito come prompt la stringa specificata come argomento.

  Parameters:
    `prompt` - il prompt.
  Returns:
    la stringa letta.

### readInt

    public int readInt()

  Legge un intero.

  Returns:
    il valore di tipo `int` letto.

### readInt

    public int readInt(java.lang.String prompt)

  Legge un intero dopo aver fornito come prompt la stringa specificata come argomento.

  Parameters:
    `prompt` - il prompt.
  Returns:
    il valore di tipo `int` letto.

### readLong

    public long readLong()

  Legge un intero di tipo `long`.

  Returns:
    il valore di tipo `long` letto.

### readLong

    public long readLong(java.lang.String prompt)

  Legge un intero di tipo `long` dopo aver fornito come prompt la stringa specificata come argomento.

  Parameters:
    `prompt` - il prompt.
  Returns:
    il valore di tipo `long` letto.

### readChar

    public char readChar()

  Legge un carattere.

  Returns:
    il carattere letto.

### readChar

    public char readChar(java.lang.String prompt)

  Legge un carattere dopo aver fornito come prompt la stringa specificata come argomento.

  Parameters:
    `prompt` - il prompt.
  Returns:
    il carattere letto.

### readDouble

    public double readDouble()

  Legge un reale in doppia precisione.

  Returns:
    il valore di tipo `double` letto.

### readDouble

    public double readDouble(java.lang.String prompt)

  Legge un reale in doppia precisione dopo aver fornito come prompt la stringa specificata come argomento.

  Parameters:
    `prompt` - il prompt.
  Returns:
    il valore di tipo `double` letto.

### readYesNo

    public boolean readYesNo()

  Legge un valore del tipo YES/NO.

  Returns:
    `true` se il valore letto è "yes" oppure "y" e `false` se il valore letto è "no" oppure "n".

### readYesNo

    public boolean readYesNo(java.lang.String prompt)

  Legge un valore del tipo YES/NO dopo aver fornito come prompt la stringa specificata come argomento.

  Parameters:
    `prompt` - il prompt.
  Returns:
    `true` se il valore letto è "yes" oppure "y" e `false` se il valore letto è "no" oppure "n".

### readSiNo

    public boolean readSiNo()

  Legge un valore del tipo SI/NO.

  Returns:
    `true` se il valore letto è "si" oppure "s" e `false` se il valore letto è "no" oppure "n".

### readSiNo

    public boolean readSiNo(java.lang.String prompt)

  Legge un valore del tipo SI/NO dopo aver fornito come prompt la stringa specificata come argomento.

  Parameters:
    `prompt` - il prompt.
  Returns:
    `true` se il valore letto è "si" oppure "s" e `false` se il valore letto è "no" oppure "n".

### getNomeCanale

    public java.lang.String getNomeCanale()

  Restituisce il nome del canale che esegue il metodo.

  Returns:
    il nome del canale.