pascalinterpreter
Class Variable

java.lang.Object
  extended bypascalinterpreter.Variable
Direct Known Subclasses:
Constant, DynamicVariable

public class Variable
extends java.lang.Object


Field Summary
private  java.lang.String name
           
private  DataType type
           
private  java.lang.String value
           
 
Constructor Summary
  Variable(DataType type, java.lang.String name)
          Tworzy obiekt reprezentujący zmienną, sprawdza poprawność nazwy, oraz inicjuje atrybuty.
protected Variable(DataType type, java.lang.String name, java.lang.String value)
          Tworzy obiekt reprezentujący zmienną.
 
Method Summary
private  boolean checkName(java.lang.String name)
          Metoda sprawdza czy nazwa zmiennej jest poprawna (tzn. czy rozpoczyna się literą i zawiera tylko dozwolone znaki).
 java.lang.String getName()
          Metoda zwraca nazwę, reprezentowanej przez obiekt, zmiennej.
 java.lang.String getPointerValue()
          Metoda podaje wartość zmiennej wskazywanej przez obiekt.
 DataType getType()
           
 java.lang.String getValue()
          Metoda podaje wartość reprezentowanej przez obiekt zmiennej.
 Variable makeConversion(DataType newType)
          Metoda wykonuje, o ile jest możliwa, konwersję zmiennej do nowego typu i zwraca nowopowstałą zmienną (nie jest zmieniana zmienna wyjściowa !!!).
 void setPointerValue(java.lang.String value)
          Metoda ustawia wartość reprezentowanej przez obiekt zmiennej wskazywanej.
 void setValue(java.lang.String value)
          Metoda ustawia wartość reprezentowanej przez obiekt zmiennej.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

private java.lang.String name

value

private java.lang.String value

type

private DataType type
Constructor Detail

Variable

public Variable(DataType type,
                java.lang.String name)
         throws AnalyseException
Tworzy obiekt reprezentujący zmienną, sprawdza poprawność nazwy, oraz inicjuje atrybuty. Tylko ten konstruktor powinien być używany do tworzenia zmiennych globalnych programu użytkownika.

Parameters:
type - - typ tworzonej zmiennej
name - - nazwa tworzonej zmiennej
Throws:
AnalyseException - - wyjątek generowany, jeżeli nazwa zmiennej jest niepoprawna.

Variable

protected Variable(DataType type,
                   java.lang.String name,
                   java.lang.String value)
Tworzy obiekt reprezentujący zmienną. Nie sprawdza poprawności nazwy, ani wartości. Ten konstruktor NIE POWINIEN być używany do tworzenia zmiennych globalnych programu użytkownika. Jest on wykorzystywany tylko do potrzeb wewnętrznych interpretera.

Method Detail

getType

public DataType getType()
Returns:
Zwraca typ zmiennej.

getValue

public java.lang.String getValue()
Metoda podaje wartość reprezentowanej przez obiekt zmiennej.

Returns:
Tekst zawierający wartość zmiennej.

setValue

public void setValue(java.lang.String value)
              throws InternalException
Metoda ustawia wartość reprezentowanej przez obiekt zmiennej.

Parameters:
value - - wartość zmiennej.
Throws:
InternalException - - wyjątek generowany przy próbie przypisania do zmiennej niepoprawnej wartości.

getPointerValue

public java.lang.String getPointerValue()
                                 throws InternalException
Metoda podaje wartość zmiennej wskazywanej przez obiekt.

Returns:
Tekst zawierający wartość zmiennej wskazywanej.
Throws:
InternalException - - Wyjątek generowany przy wywołanie tej metody dla zmiennej nie będącej typu wskaźnikowego, albo jeżeli wskaźnik nie wskazuje na żadną zmienną.

setPointerValue

public void setPointerValue(java.lang.String value)
                     throws InternalException
Metoda ustawia wartość reprezentowanej przez obiekt zmiennej wskazywanej.

Parameters:
value - - wartość zmiennej.
Throws:
InternalException - - Wyjątek generowany przy wywołanie tej metody dla zmiennej nie będącej typu wskaźnikowego, albo jeżeli wskaźnik nie wskazuje na żadną zmienną. Ten wyjątek może się również pojawić przy problemach z ustawieniem wartości zmiennej wskazywanej.

getName

public java.lang.String getName()
Metoda zwraca nazwę, reprezentowanej przez obiekt, zmiennej.

Returns:
Nazwa zmiennej.

checkName

private boolean checkName(java.lang.String name)
Metoda sprawdza czy nazwa zmiennej jest poprawna (tzn. czy rozpoczyna się literą i zawiera tylko dozwolone znaki).

Parameters:
name - - sprawdzana nazwa
Returns:
Jeśli nazwa jest poprawna, zwracane jest true. W przeciwnym razie false.

makeConversion

public Variable makeConversion(DataType newType)
                        throws InternalException
Metoda wykonuje, o ile jest możliwa, konwersję zmiennej do nowego typu i zwraca nowopowstałą zmienną (nie jest zmieniana zmienna wyjściowa !!!).

Parameters:
newType - - typ, jakiego ma być nowa zmienna.
Returns:
Zwraca nową zmienną wskazanego typu, o wartości i nazwie zmiennej na rzecz której metoda została wywołana.
Throws:
InternalException - - Wyjątek generowany przy próbie wykonania niedozwolonej konwersji, lub błędach przy odczytach wartości zmiennych.

toString

public java.lang.String toString()