fi.jyu.mit.ohj2
Class Suuntaaja.StringOutput

java.lang.Object
  extended by fi.jyu.mit.ohj2.Suuntaaja.StringOutput
All Implemented Interfaces:
Suuntaaja.ISuuntaaja
Enclosing class:
Suuntaaja

public static class Suuntaaja.StringOutput
extends Object
implements Suuntaaja.ISuuntaaja

Luokka tulostuksen siirtämiseksi merkkijonoon

Version:
2.2.2008
Author:
vesal

Constructor Summary
Suuntaaja.StringOutput()
          Alutetataan kirjoitustietovirta
 
Method Summary
 String ero(String verrattava)
          Vertaa tuloksen sisältöä jonoon ja palauttaa eron tai null jos samat.
 PrintStream getOrigOut()
          Palauttaa alkuperäisen tietovirran
 void palauta()
          Palautetaan tietovirta takaisin alkuperäiseen tilaan
 void reset()
          Tyhjentää toistaiseksi tulostetun osan
 String toString()
          Palautetaan toistaiseksi tulostettu tieto merkkijonona
 String toStringReset()
          Palautetaan toistaiseksi tulostettu tieto merkkijonona ja tyhjennetään tietovirta
 void writeTo(OutputStream out)
          Kirjoittaa sisällön tietovirtaan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Suuntaaja.StringOutput

public Suuntaaja.StringOutput()
Alutetataan kirjoitustietovirta

Method Detail

palauta

public void palauta()
Palautetaan tietovirta takaisin alkuperäiseen tilaan

Specified by:
palauta in interface Suuntaaja.ISuuntaaja

toString

public String toString()
Palautetaan toistaiseksi tulostettu tieto merkkijonona

Overrides:
toString in class Object
Returns:
tulostettu tieto
Example:
   String NL = getNL();
   StringOutput so = new StringOutput();
   System.out.println("eka"); 
   System.out.println("toka");
   so.toString() === "eka"+NL+"toka"+NL; 
   System.out.println("kolmas");
   so.toStringReset() === "eka"+NL+"toka"+NL+"kolmas"+NL;
   so.toString() === "";
   System.out.println("neljäs");
   so.toStringReset() === "neljäs"+NL;
   System.out.print("viides\nkuudes");
   so.toStringReset() === "viides\nkuudes";
   System.out.printf("viides%nkuudes");
   so.toStringReset() === "viides"+NL+"kuudes";
   so.palauta();
 

toStringReset

public String toStringReset()
Palautetaan toistaiseksi tulostettu tieto merkkijonona ja tyhjennetään tietovirta

Returns:
tulostettu tieto

reset

public void reset()
Tyhjentää toistaiseksi tulostetun osan


writeTo

public void writeTo(OutputStream out)
             throws IOException
Kirjoittaa sisällön tietovirtaan

Parameters:
out - virta johon kirjoitetaan
Throws:
IOException - jos joku menee pieleen
Example:
 #THROWS IOException
 PrintStream fs = Tiedosto.avaa_kirjoittamista_varten_stream("hiljaa1.txt");
 StringOutput so = new StringOutput();
 System.out.println("eka"); 
 System.out.println("toka");
 so.writeTo(fs);
 fs.close();
 so.palauta();
 vertaaFileString("hiljaa1.txt","eka\ntoka\n") === null;
 tuhoaTiedosto("hiljaa1.txt"); 
 

getOrigOut

public PrintStream getOrigOut()
Palauttaa alkuperäisen tietovirran

Returns:
alkuperäinen tietovirta

ero

public String ero(String verrattava)
Vertaa tuloksen sisältöä jonoon ja palauttaa eron tai null jos samat. Tyhjentää tulosteen.

Parameters:
verrattava - jono johon output-jonon sisältöä verrataan
Returns:
null jos samat, muuten 1. ero
Example:
   StringOutput so = new StringOutput();
   System.out.println("eka"); 
   System.out.println("toka");
   so.ero("eka\ntoka\n")         === null; 
   System.out.println("kolmas");
   so.ero("eka\ntoka\nkolmas\n") === "Ero riveissä 1: kolmas ja eka";
   so.toString()                 === "";
   System.out.println("neljäs");
   so.ero("neljäs\n")            === null;
   System.out.print("viides\nkuudes");
   so.ero("viides\nkuudes")      === null;
   System.out.printf("viides%nkuudes");
   so.ero("viides\nkuudes")      === null;
   so.palauta();
   so.getOrigOut() == System.out === true;