public static class Svet.PríkazovýRiadok
extends knižnica.podpora.ExecuteShellCommand
Hlavná časť implementácie jednoduchého príkazového riadka operačného systému. Dovoľuje spravovať jeden spustený proces. Verejné atribúty tejto triedy a vnútorné rozhranie na presmerovanie výstupov nemajú z dôvodu výrazného zjednodušenia celej implementácie definované aliasy bez diakritiky.
Príklad – grafická konzola:
Zobraziť dlhšiu verziu (s alternatívnou implementáciou ovládania konzoly v komentároch).
import
knižnica.*;import
java.io.IOException
;public
class
GrafickáKonzolaextends
GRobot
{// Súčasť implementácie ukončenia spusteného procesu klávesovou
// skratkou.
private
final
static
String
kill ="kill"
;// Príznak aktivovania vnútorného príkazu pause.
private
boolean
pause =false
;// Konštruktor.
private
GrafickáKonzola() {skry
();Svet
.skratkyStropu
(true
);Svet
.neskrývajVstupnýRiadok
(true
);Svet
.príkazovýRiadok
.output
(Svet
.príkazovýRiadok
.getVersion
());strop
.automatickéZobrazovanieLíšt
(true
);strop
.písmo
("Consolas"
,14
);// Súčasť implementácie ukončenia spusteného procesu klávesovou
// skratkou.
Svet
.pridajKlávesovúSkratku
(kill,Kláves
.VK_D
); }// Súčasť implementácie ukončenia spusteného procesu klávesovou
// skratkou. (Metóda je zároveň využitá v reakcii na ukončenie
// aplikácie.)
private
void
killProcess() {Process
proces =Svet
.príkazovýRiadok
.getRunningProcess
();if
(null
!= proces) proces.destroy
(); }@
Overridepublic
void
klávesováSkratka
() {String
skratka =ÚdajeUdalostí
.príkazSkratky
();// Súčasť implementácie ukončenia spusteného procesu klávesovou
// skratkou.
if
(skratka == kill) killProcess(); }// Využitie vstupného riadka na vstup príkazového riadka.
@
Overridepublic
void
potvrdenieVstupu
() {if
(pause) { pause =false
;return
; }String
príkaz =Svet
.prevezmiReťazec
();if
(!Svet
.príkazovýRiadok
.isProcessRunning
()) {Svet
.príkazovýRiadok
.output
(Svet
.príkazovýRiadok
.expandPrompt
());Svet
.príkazovýRiadok
.output
(príkaz);if
(príkaz.isEmpty
())return
;// Prekrytie dvoch predvolene deaktivovaných príkazov:
int
[] zhoda =Svet
.PríkazovýRiadok
.matchCommand
( príkaz,"pause"
,"exit"
);// Poznámka: Na to, aby niektoré príkazy fungovali rovnako ako
// v systémovej konzole, by musela byť na tomto mieste
// vykonaná dodatočná implementácia. Súvisí to najmä
// s príkazom na zmenu priečinka (cd/chdir). V príkazovom
// riadku Windows sa zvyknú používať tieto skrátené formy
// príkazu:
//
// cd\ chdir\
//
// (Podobne ako v iných OS tvary: cd/ a chdir/)
//
// Znamenajú prechod do koreňového priečinka aktuálnej
// jednotky. Tieto skrátené tvary nie sú spracované. Okrem
// tohto faktu samotný symbol \ alebo / nemá v tejto
// konzole význam koreňového priečinka. Implementácia
// metódy ExecuteShellCommand.changePath sa správa inak:
// 1. prevezme zadaný reťazec,
// 2. identifikuje, či ide o relatívnu alebo absolútnu
// cestu
// 3. a podľa toho nastaví novú aktuálnu cestu.
// Samotné znaky \ a / nenesú informáciu o zmene
// priečinka, takže sú v podstate ignorované.
//
// Ďalšia odlišnosť je správanie sa príkazu cd/chdir
// bez parametrov. V súlade s opisom fungovania metódy
// ExecuteShellCommand.changePath spôsobí potvrdenie
// tohto príkazu návrat do aktuálneho štartovacieho
// priečinka virtuálneho stroja javy (JVM), to jest,
// cesta, na ktorej bola spustená aktuálna aplikácia
// (nemusí sa nevyhnutne zhodovať s cestou, na ktorej
// je aplikácia umiestnená).
if
(null
!= zhoda &&3
!= zhoda[0
]) {String
argumenty = príkaz.substring
(zhoda[2
]);switch
(zhoda[1
]) {case
0
:// pause
if
(argumenty.isEmpty
())Svet
.príkazovýRiadok
.outputLine
(riadok
,"Potvrďte ďalší príkazový riadok."
);else
Svet
.príkazovýRiadok
.outputLine
(riadok
,Svet
.príkazovýRiadok
.expandVariables
(argumenty)); pause =true
;return
;case
1
:// exit
Svet
.koniec
();// (Prípadne by sa dala použiť metóda Svet.zavrieť.)
return
; } } }Svet
.príkazovýRiadok
.updateTitle
();Svet
.spracujPríkaz
(príkaz);Svet
.príkazovýRiadok
.updateTitle
(); }// Súčasť ukladania a čítania konfigurácie príkazového riadka.
@
Overridepublic
boolean
konfiguráciaZmenená
() {if
(null
==Svet
.príkazovýRiadok
)return
false
;return
Svet
.príkazovýRiadok
.konfiguráciaZmenená
; }// Súčasť ukladania a čítania konfigurácie príkazového riadka.
@
Overridepublic
void
zapíšKonfiguráciu
(Súbor
súbor)throws
IOException
{if
(null
==Svet
.príkazovýRiadok
)return
;// Pozor‼ V čase zápisu konfigurácie by vlastnosti nastavení
// príkazového riadka mali byť pre istotu zapísané bez ohľadu
// na hodnotu príznaku „Svet.príkazovýRiadok.konfiguráciaZmenená.“
// Nemáme istotu, že inštancia konfiguračného súboru nemá nastavenú
// vlastnosť „odstraňujNepoužitéVlastnosti.“
Svet
.príkazovýRiadok
.zapíšKonfiguráciu
(súbor); }// Súčasť ukladania a čítania konfigurácie príkazového riadka.
@
Overridepublic
void
čítajKonfiguráciu
(Súbor
súbor)throws
IOException
{if
(null
==Svet
.príkazovýRiadok
)return
;Svet
.príkazovýRiadok
.čítajKonfiguráciu
(súbor); }// (Prekresľovanie pomocou časovača, aby bola činnosť
// konzoly svižnejšia.)
@
Overridepublic
void
tik
() {if
(Svet
.neboloPrekreslené
())Svet
.prekresli
(); }// Ukončenie.
@
Overridepublic
void
ukončenie
() {// Ak je náhodou spustený vnorený (detský) proces, nezostáva iné
// riešenie ako ho ukončiť:
killProcess(); }// Hlavná (vstupná) metóda.
public
static
void
main(String
[] args) {Svet
.režimLadenia
(true
);Svet
.skry
();Svet
.nekresli
();Svet
.aktivujHistóriuVstupnéhoRiadka
();Svet
.uchovajHistóriuVstupnéhoRiadka
();Svet
.použiKonfiguráciu
("GrafickáKonzola.cfg"
);new
GrafickáKonzola();Svet
.spustiČasovač
();Svet
.zobraz
(); } }
Do konfigurácie odporúčame (v OS Windows) pridať tieto riadky:
mapaKódovaní.počet=1 mapaKódovaní.príkaz[0]=cmd mapaKódovaní.mapovanie[0]=windows-1250 mapaPríkazov.počet=1 mapaPríkazov.príkaz[0]=cmd mapaPríkazov.mapovanie[0]=%0 /k chcp 1250>nul & %~
Modifikátor a typ | Trieda a opis |
---|---|
static interface |
Svet.PríkazovýRiadok.PresmerovanieVýstupu
Toto rozhranie slúži na presmerovanie výstupov a denníkov
inštancií príkazového riadka.
|
Modifikátor a typ | Atribút a opis |
---|---|
Svet.PríkazovýRiadok.PresmerovanieVýstupu |
denník
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy
log sú automaticky presmerované do
metódy spracuj tejto implementácie (inštancie). |
Svet.PríkazovýRiadok.PresmerovanieVýstupu |
denníkChýb
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy
err sú automaticky presmerované do
metódy spracuj tejto implementácie (inštancie). |
Color |
farbaDenníka
Farebné odlíšenie textov denníka.
|
Color |
farbaDenníkaChýb
Farebné odlíšenie textov chybového denníka.
|
Color |
farbaChybovéhoVýstupu
Farebné odlíšenie chybových výstupov externých procesov.
|
Color |
farbaLadenia
Farebné odlíšenie textov ladenia.
|
Color |
farbaVýstupu
Farebné prekrytie všetkých textov štandardného výstupu
zachytených touto inštanciou a výstupu niektorých vnútorných
príkazov spracovaných metódou sveta
spracujPríkaz (napríklad ECHO). |
Color |
farbaVýstupuProcesu
Farebné odlíšenie výstupov externých procesov.
|
Svet.PríkazovýRiadok.PresmerovanieVýstupu |
chybovýVýstup
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy
error sú automaticky presmerované do
metódy spracuj tejto implementácie (inštancie). |
boolean |
konfiguráciaZmenená
Príznak toho, že nastavenia inštancie príkazového riadka
boli zmenené a mali by byť uložené do konfiguračného súboru.
|
Svet.PríkazovýRiadok.PresmerovanieVýstupu |
ladenie
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy
debug sú automaticky presmerované do
metódy spracuj tejto implementácie (inštancie; pozri
aj triedu PresmerovanieVýstupu )
a to bez ohľadu na to, či je alebo nie je zapnutý režim ladenia. |
Svet.PríkazovýRiadok.PresmerovanieVýstupu |
vyčistenie
Toto presmerovanie je odlišné od ostatných.
|
Svet.PríkazovýRiadok.PresmerovanieVýstupu |
výstupProcesu
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy
output sú automaticky presmerované do
metódy spracuj tejto implementácie (inštancie). |
Color |
zálohaFarby
Prípadná záloha farby uložená po spustení nového
procesu.
|
CANNOT_EXECUTE, CLEARED, COMMAND, COMMAND_MAPPING, COMMANDS_MAP, dateFormat, DELETED, DUPLICATE_REQUEST, ENCODING, ENCODING_FOR, ENCODING_CHANGED, ENCODING_KEEPED, ENCODING_RESTORED, ENCODINGS_MAP, ERROR_MESSAGE, ERROR_OCCURED, EXECUTE, EXIT_CODE, INPUT, IS_EMPTY, langstring, MAPPED_COMMAND_USE, MAPPING, MORE_PROCESSES, SET, STREAM_READ_ERROR, STREAM_WRITE_ERROR, timeFormat
Konštruktor a opis |
---|
PríkazovýRiadok() |
Modifikátor a typ | Metóda a opis |
---|---|
void |
citajKonfiguraciu(Súbor súbor)
Alias pre
čítajKonfiguráciu . |
void |
clearDebug(String metóda)
Automaticky spúšťaná metóda signalizujúca buď vyčistenie
alebo začatie novej sekcie v prúde ladiacich informácií.
|
void |
clearErr(String metóda)
Automaticky spúšťaná metóda signalizujúca buď vyčistenie
denníka chýb, alebo začatie novej sekcie záznamov.
|
void |
clearError()
Automaticky spúšťaná metóda signalizujúca vymazanie
zásobníka (obrazovky), na ktorú je exportovaný chybový prúd
procesu.
|
void |
clearLog(String metóda)
Automaticky spúšťaná metóda signalizujúca buď vyčistenie
denníka, alebo začatie novej sekcie záznamov.
|
void |
clearOutput()
Automaticky spúšťaná metóda signalizujúca vymazanie
zásobníka (obrazovky), na ktorú je exportovaný prúd
štandardného výstupu procesu.
|
void |
čítajKonfiguráciu(Súbor súbor)
Prečíta rôzne vlastnosti tejto inštancie z konfiguračného
súboru.
|
void |
debug(Object... texty)
Metóda vypisujúca ladiace informácie.
|
void |
err(Object... texty)
Metóda zapisujúca údaje do denníka chýb.
|
void |
error(Object... texty)
Metóda, do ktorej je automaticky presmerovaný štandardný
chybový výstup spustených procesov.
|
String |
finishExtraInput(String hodnota)
Táto metóda je spúšťaná automaticky pri dokončení čakania
na doplnkový vstup (pozri aj
startExtraInput ). |
String |
getVersion()
Táto metóda je spúšťaná automaticky v priebehu práce
tejto inštancie.
|
void |
log(Object... texty)
Metóda zapisujúca údaje do denníka.
|
void |
output(Object... texty)
Metóda, do ktorej je automaticky presmerovaný štandardný
výstup spustených procesov.
|
void |
processEnded(int návratovýKód)
Táto metóda je vykonaná automaticky po ukončení
externého procesu.
|
String |
startExtraInput(String návesť)
Táto metóda je spúšťaná automaticky pri začatí čakania
na doplnkový vstup, napríklad pri čítaní hodnoty virtuálnej
premennej %READ% z príkazového riadka.
|
void |
title(String titulok)
Táto metóda je spúšťaná automaticky v priebehu práce
tejto inštancie.
|
void |
zapisKonfiguraciu(Súbor súbor)
Alias pre
zapíšKonfiguráciu . |
void |
zapíšKonfiguráciu(Súbor súbor)
Zapíše do konfiguračného súboru rôzne vlastnosti tejto
inštancie.
|
debugLine, errLine, errorLine, escapeNewLines, execute, expandPrompt, expandTitle, expandVariables, getCommandArray, getCommandsMap, getCurrentPath, getDefaultEncoding, getDefaultPath, getDefaultPrompt, getDefaultTitle, getEncoding, getEncodingsMap, getInternalEnvironment, getPrompt, getRunArguments, getRunCommand, getRunEnvironment, getRunningProcess, getTitle, getVariable, changeEncoding, changePath, isInputActive, isProcessRunning, logLine, makeCommandArray, mapCommand, matchCommand, outputLine, quoteSpacedString, restoreDefaultEncoding, restoreDefaultPrompt, restoreDefaultTitle, setDefaultEncoding, setDefaultPrompt, setDefaultTitle, setPrompt, setTitle, setVariable, splitCommand, stackTraceToString, storeDefaultEncoding, storeDefaultPrompt, storeDefaultTitle, updateTitle, writeInput
public boolean konfiguráciaZmenená
Príznak toho, že nastavenia inštancie príkazového riadka boli zmenené a mali by byť uložené do konfiguračného súboru. O využitie tohto atribútu sa musí postarať externá implementácia.
public Color zálohaFarby
Prípadná záloha farby uložená po spustení nového
procesu. Ak je nastavená, tak pre metódu výstupu output
to znamená, že nemá použiť
atribút farbaVýstupu
.
public Color farbaVýstupu
Farebné prekrytie všetkých textov štandardného výstupu
zachytených touto inštanciou a výstupu niektorých vnútorných
príkazov spracovaných metódou sveta spracujPríkaz
(napríklad ECHO).
Ak je nastavené, tak je použité v tele metódy výstupu output
, okrem prípadu, keď je zároveň
nastavená inštancia zálohy farby: zálohaFarby
.
public Color farbaVýstupuProcesu
Farebné odlíšenie výstupov externých procesov. Ak je
nastavené, tak je použité pri spustení externého procesu
metódou sveta spracujPríkaz
.
public Color farbaChybovéhoVýstupu
Farebné odlíšenie chybových výstupov externých procesov.
Ak je nastavené, tak je použité metódou chybového výstupu
error
.
public Color farbaLadenia
Farebné odlíšenie textov ladenia. Ak je nastavené a ak
je zároveň aktívny režim ladenia, tak je použité metódou výstupu textov ladenia
príkazového riadka debug
.
public Color farbaDenníka
Farebné odlíšenie textov denníka. Ak je nastavené, tak je
použité metódou výstupu denníka log
.
public Color farbaDenníkaChýb
Farebné odlíšenie textov chybového denníka. Ak je nastavené,
tak je použité metódou výstupu chybového denníka err
.
public Svet.PríkazovýRiadok.PresmerovanieVýstupu vyčistenie
Toto presmerovanie je odlišné od ostatných. Ak je
definované, tak sú do neho presmerované všetky udalosti
vyčistenia alebo resetu denníkov, výstupných prúdov
a podobne. Vstupné pole parametrov pritom bude obsahovať
najmenej jeden prvok, ktorý slúži na odlíšenie typu udalosti.
Je to objekt typu Integer
, ktorého hodnota
môže byť: 0 – clearDebug, 1 – clearLog, 2 – clearErr, 3 –
clearError, 4 – clearOutput. Druhý prvok je relevantný
len pre prvé tri udalosti a jeho hodnota je reťazec
s názvom metódy, ktorá udalosť spustila. Predvolené
správanie súvisiacich metód je výpis prázdneho riadka pre
denník (clearLog), vymazanie vnútornej konzoly metódami
štandardných výstupov (clearError a clearOutput) a ignorovanie
zvyšných dvoch udalostí (clearDebug a clearErr).
public Svet.PríkazovýRiadok.PresmerovanieVýstupu ladenie
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy debug
sú automaticky presmerované do
metódy spracuj
tejto implementácie (inštancie; pozri
aj triedu PresmerovanieVýstupu
)
a to bez ohľadu na to, či je alebo nie je zapnutý režim ladenia.
public Svet.PríkazovýRiadok.PresmerovanieVýstupu denník
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy log
sú automaticky presmerované do
metódy spracuj
tejto implementácie (inštancie). Pozri
aj triedu PresmerovanieVýstupu
.
public Svet.PríkazovýRiadok.PresmerovanieVýstupu denníkChýb
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy err
sú automaticky presmerované do
metódy spracuj
tejto implementácie (inštancie). Pozri
aj triedu PresmerovanieVýstupu
.
public Svet.PríkazovýRiadok.PresmerovanieVýstupu chybovýVýstup
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy error
sú automaticky presmerované do
metódy spracuj
tejto implementácie (inštancie). Pozri
aj triedu PresmerovanieVýstupu
.
public Svet.PríkazovýRiadok.PresmerovanieVýstupu výstupProcesu
Ak je definovaná (implementovaná) inštancia tohto atribútu,
tak všetky (interné alebo externé) volania metódy output
sú automaticky presmerované do
metódy spracuj
tejto implementácie (inštancie). Pozri
aj triedu PresmerovanieVýstupu
.
public void title(String titulok)
Táto metóda je spúšťaná automaticky v priebehu práce
tejto inštancie. Účelom je nastavenie titulku okna (konzoly),
ktorým je v tomto prípade okno sveta. (Mechanizmus je
implementovaný v rodičovskej triede ExecuteShellCommand
.)
Poznámka: Na zlepšenie dojmu pri používaní programovacieho rámca bolo využitie tohto príkazu eliminované len na prípady vykonania vnútorného príkazu príkazového riadka TITLE. Titulok okna (konzoly) by inak mal byť aktualizovaný po každom vykonaní príkazu príkazového riadka (prípadne aj pred ním), pretože definícia titulku môže obsahovať referencie na (virtuálne) premenné prostredia, ktorých hodnoty sa menia (napríklad %CD% – aktuálna cesta, %TIME% – aktuálny čas…).
title
v triede podpora.ExecuteShellCommand
titulok
– priebežne (niekedy automaticky) aktualizovaná
verzia titulku oknapublic String getVersion()
Táto metóda je spúšťaná automaticky v priebehu práce
tejto inštancie. (Mechanizmus je implementovaný v rodičovskej
triede ExecuteShellCommand
.) Jej
účelom je poskytnúť aktuálnu verziu programovacieho rámca.
getVersion
v triede podpora.ExecuteShellCommand
public String startExtraInput(String návesť)
Táto metóda je spúšťaná automaticky pri začatí čakania
na doplnkový vstup, napríklad pri čítaní hodnoty virtuálnej
premennej %READ% z príkazového riadka. (Mechanizmus je
implementovaný v rodičovskej triede ExecuteShellCommand
.)
startExtraInput
v triede podpora.ExecuteShellCommand
návesť
– návesť, ktorá má byť zobrazená pred začatím
čakania na doplnkový vstupfinishExtraInput
public String finishExtraInput(String hodnota)
Táto metóda je spúšťaná automaticky pri dokončení čakania
na doplnkový vstup (pozri aj startExtraInput
). Metóda poskytuje externej implementácii
poslednú možnosť kontroly, úpravy alebo zrušenia doplnkového
vstupu. (Mechanizmus automatického spúšťania tejto metódy je
implementovaný v rodičovskej triede ExecuteShellCommand
.)
finishExtraInput
v triede podpora.ExecuteShellCommand
hodnota
– hodnota potvrdená používateľom (prípadne
odoslaná iným procesom)null
na zrušenie
vstupupublic void clearDebug(String metóda)
Automaticky spúšťaná metóda signalizujúca buď vyčistenie alebo začatie novej sekcie v prúde ladiacich informácií.
Volanie tejto metódy je predvolene ignorované. Dá sa mu však
definovať akcia v rámci presmerovania výstupu vyčistenie
, ktoré (ak je definované) je touto metódou volané
takto: vyčistenie
.
spracuj
(
0
,
metóda);
clearDebug
v triede podpora.ExecuteShellCommand
metóda
– názov metódy, ktorá udalosť vyvolalapublic void clearLog(String metóda)
Automaticky spúšťaná metóda signalizujúca buď vyčistenie denníka, alebo začatie novej sekcie záznamov.
Predvolene táto metóda vypíše na konzulu sveta prázdny
riadok. To sa dá zmeniť akciou presmerovania výstupu
vyčistenie
, ktoré (ak je definované) je
touto metódou volané takto: vyčistenie
.
spracuj
(
1
,
metóda);
clearLog
v triede podpora.ExecuteShellCommand
metóda
– názov metódy, ktorá udalosť vyvolalapublic void clearErr(String metóda)
Automaticky spúšťaná metóda signalizujúca buď vyčistenie denníka chýb, alebo začatie novej sekcie záznamov.
Volanie tejto metódy je predvolene ignorované. Dá sa mu však
definovať akcia v rámci presmerovania výstupu vyčistenie
, ktoré (ak je definované) je touto metódou volané
takto: vyčistenie
.
spracuj
(
2
,
metóda);
clearErr
v triede podpora.ExecuteShellCommand
metóda
– názov metódy, ktorá udalosť vyvolalapublic void clearError()
Automaticky spúšťaná metóda signalizujúca vymazanie zásobníka (obrazovky), na ktorú je exportovaný chybový prúd procesu. Táto implementácia vymaže vnútornú konzolu sveta (stropu).
Ak je definované presmerovanie výstupu vyčistenie
, tak vnútorná konzola nie je vymazaná a namiesto
toho je spustená metóda presmerovania:
vyčistenie
.
spracuj
(
3
);
clearError
v triede podpora.ExecuteShellCommand
public void clearOutput()
Automaticky spúšťaná metóda signalizujúca vymazanie zásobníka (obrazovky), na ktorú je exportovaný prúd štandardného výstupu procesu. Táto implementácia vymaže vnútornú konzolu sveta (stropu).
Ak je definované presmerovanie výstupu vyčistenie
, tak vnútorná konzola nie je vymazaná a namiesto
toho je spustená metóda presmerovania:
vyčistenie
.
spracuj
(
4
);
clearOutput
v triede podpora.ExecuteShellCommand
public void debug(Object... texty)
Metóda vypisujúca ladiace informácie. Jej automatické
spúšťanie súvisí napríklad so spúšťaním a ukončovaním
procesov metódou ExecuteShellCommand.execute
.
Jej použitie je otvorené aj pre externé implementácie.
Predvolene funguje tak, že vypisuje texty na vnútornú konzolu
sveta (stropu) len v prípade zapnutého režimu ladenia (môže pri tom využiť
atribút farbaLadenia
).
Ak je definované presmerovanie výstupu ladenie
, tak sú všetky informácie presmerované do jeho
metódy: ladenie
.
spracuj
(texty);
debug
v triede podpora.ExecuteShellCommand
texty
– ladiace informáciepublic void log(Object... texty)
Metóda zapisujúca údaje do denníka. Môže byť volaná s cieľom zápisu informácií do denníka, ale je spúšťaná aj automaticky – vnútornými príkazmi inštancie príkazového riadka, ktoré ňou poskytujú informácie o sebe.
Metóda predvolene vypisuje prijaté informácie na vnútornú
konzolu sveta (môže pri tom využiť atribút farbaDenníka
). Predvolené správanie sa dá
zmeniť definovaním presmerovania výstupu denník
, ktoré bude volané takto: denník
.
spracuj
(texty);
log
v triede podpora.ExecuteShellCommand
texty
– texty, ktoré majú byť zapísané do denníkapublic void err(Object... texty)
Metóda zapisujúca údaje do denníka chýb. Môže byť volaná s cieľom zápisu informácií do denníka chýb, ale je spúšťaná aj automaticky – vnútornými príkazmi inštancie príkazového riadka, ktoré ňou poskytujú informácie o chybách.
Metóda predvolene vypisuje prijaté informácie na vnútornú
konzolu sveta (môže pri tom využiť atribút farbaDenníkaChýb
). Predvolené správanie sa
dá zmeniť definovaním presmerovania výstupu denníkChýb
, ktoré bude volané takto:
denníkChýb
.
spracuj
(texty);
err
v triede podpora.ExecuteShellCommand
texty
– texty, ktoré majú byť zapísané do denníka chýbpublic void error(Object... texty)
Metóda, do ktorej je automaticky presmerovaný štandardný chybový výstup spustených procesov. (V niektorých prípadoch môže byť spustená aj pri iných príležitostiach, ale to je viac-menej výnimočné.)
Metóda predvolene vypisuje prijaté informácie na vnútornú
konzolu sveta (môže pri tom využiť atribút farbaChybovéhoVýstupu
). Predvolené
správanie sa dá zmeniť definovaním presmerovania výstupu
chybovýVýstup
, ktoré bude volané takto:
chybovýVýstup
.
spracuj
(texty);
error
v triede podpora.ExecuteShellCommand
texty
– zachytené riadky chybového prúdupublic void output(Object... texty)
Metóda, do ktorej je automaticky presmerovaný štandardný výstup spustených procesov. V niektorých prípadoch môže byť táto metóda spustená aj pri iných príležitostiach (napríklad vnútorným príkazom ECHO).
Metóda predvolene vypisuje prijaté informácie na vnútornú
konzolu sveta (môže pri tom využiť atribút farbaVýstupu
). Predvolené
správanie sa dá zmeniť definovaním presmerovania výstupu
výstupProcesu
, ktoré bude volané takto:
výstupProcesu
.
spracuj
(texty);
output
v triede podpora.ExecuteShellCommand
texty
– zachytené riadky výstupného prúdupublic void processEnded(int návratovýKód)
Táto metóda je vykonaná automaticky po ukončení externého procesu. Návratový kód je nositeľom informácie o spôsobe ukončenia procesu alebo o chybe. Obvykle túto informáciu tvorí spustený proces pri svojom ukončení, ale môže ísť aj o informáciu odovzdanú spúšťajúcim procesom (príkazovým riadkom systému alebo programovacieho rámca). Hodnota nula obvykle znamená korektné ukončenie procesu. Interpretácia iných hodnôt závisí od konkrétneho procesu – o tom by mala informovať jeho dokumentácia.
V tomto programovacom rámci je jediná výnimka, keď túto hodnotu negeneruje spustený proces a to pri pokuse spustenia nového procesu v čase, keď je skôr spustený proces stále v činnosti. Jedna inštancia príkazového riadka dovoľuje v jednom čase spustenie iba jedného procesu. V prípade pokusu o konfliktné spustenie vygeneruje rámec túto udalosť s návratovým kódom −1.
processEnded
v triede podpora.ExecuteShellCommand
návratovýKód
– kód, ktorý vrátil externý proces
pri ukončení; prípadne kód generovaný nadradeným procesompublic void zapíšKonfiguráciu(Súbor súbor) throws IOException
Zapíše do konfiguračného súboru rôzne vlastnosti tejto inštancie. Sú to hodnoty vnútorných premenných prostredia, aktuálne kódovanie, definícu náveste, titulku okna a mapy príkazov a kódovaní.
súbor
– inštancia konfiguračného súboruIOException
– v prípade vzniku vstupno-výstupnej chybypublic void zapisKonfiguraciu(Súbor súbor) throws IOException
Alias pre zapíšKonfiguráciu
.
IOException
public void čítajKonfiguráciu(Súbor súbor) throws IOException
Prečíta rôzne vlastnosti tejto inštancie z konfiguračného
súboru. Pozri aj zapíšKonfiguráciu
.
súbor
– inštancia konfiguračného súboruIOException
– v prípade vzniku vstupno-výstupnej chybypublic void citajKonfiguraciu(Súbor súbor) throws IOException
Alias pre čítajKonfiguráciu
.
IOException