Opis najważniejszych klas

Obiektowy język definiowania dokumentów hipertekstowych i jego implementacja.

ObjectHTML

Wstęp - geneza, zastosowania
Opis podstawowych pojęć
    Internet
    IP
    TCP
    HTTP
    WWW
    HTML
    URL
    Pozostałe usługi
Definicje
Inne rozwiazania
    Wprowadzenie
    ASP
    JSP
    PHP
    Homesite
    Microsoft FrontPage
Projekt języka
    Struktura leksykalna
    Komentarze
    Typy atrybutów i zmiennych
    Podstawowe składowe programu
    Deklaracje
    Klasy
    Metody
    Atrybuty
    Grupy
        Wprowadzenie
        Definicja
    Instrukcje
        $
        [ ]
        call
        set
        append
        incr
        if
        while
        for
        currenttime
        encode
        import
        export
        grmembers
        grname
        grparent
        lastwordin
        firstwordin
        beforeword
        afterword
        query
    Wyrażenia i operatory
    file
    image
    include
    Gramatyka
Wywołanie kompilatora
Program narzędziowy makedefs
    Geneza i ogólny opis
    Uruchamianie
    Przykłady użycia
Opis implementacji
    Drzewo programu / kompilator
    Opis najważniejszych klas ->
Przykładowa aplikacja
Podsumowanie
Literatura

Opis najważniejszych klas

Poprzednia strona: Drzewo programu / kompilator
Nastepna strona: Przykładowa aplikacja

  1. ohBaseNode
  2. Jest to klasa bazowa dla wszystkich klas reprezentujących elementy drzewa programu.

    Atrybuty:

    • next - Jest to najważniejszy atrybut tej klasy. Wskazuje on na następny element programu. W ten sposób tworzone są listy: instrukcji, parametrów, składowych klasy, itd.
    • sou_linenr, sou_filename - Określają położenie elementu w pliku źródłowym OHTML. Są one wykorzystywane podczas wypisywania komunikatów o błędach.
    • creationOrder - Numer porządkowy określający kolejność tworzenia obiektów. Jest on wykorzystywany przy sortowaniu obiektów według kolejności wystąpienia danego elementu w kodzie źródłowym.

    Metody:

    • reverseList - Odwraca kolejność listy utworzonej przez atrybuty next.
    • addToClass - Dodanie obiektu do podanej klasy.
    • getName - Zwraca identyfikator elementu.
    • getLongName - Zwraca długą nazwę elementu.

  3. ohAttrNode
  4. Klasa to przechowuje informacje o atrybutach OHTML kasy. Jest ona również wykorzystywana do przechowywania zmiennych lokalnych.

    Atrybuty:

    • attrName - Identyfikator
    • attrValue - Aktualna wartość
    • defaultValue - Wartość początkowa.

    Metody:

    • getValue - Zwraca aktualną wartość atrybutu.
    • setValue - Ustawia nową wartość atrybutu.
    • appendValue - Dopisuje argument do aktualnej wartości.

  5. ohMethodNode
  6. Definicja metody klasy.

    Atrybuty:

    • methodName - Nazwa metody
    • params - List nazw parametrów metody
    • instr - Lista instrukcji
    • locals - Tablica asocjacyjna do przechowywania zmiennych lokalnych

    Metody:

    • execute - Wykonuje instrukcje metody i zwraca wynik ich wykonania.
    • getAttr - Wyszukuje atrybut o podanej nazwie wśród zmiennych lokalnych i atrybutów klasy.
    • addToLocals - Dodaje atrybut do zmiennych lokalnych.

  7. ohGroupNode
  8. Definicja i obsługa grup.

    Atrybuty:

    • grName - Identyfikator grupy
    • longGrName - Długa nazwa grupy.
    • exName - Identyfikator grupy bazowej.
    • fiMembers - Tablica asocjacyjna obiektów typu file należących do grupy.
    • grMembers - Tablica asocjacyjna podgrup.
    • allMembers - Tablica asocjacyjna wszystkich obiektów należących do grupy.

    Metody:

    • getMembers - Zwraca napis zawierający identyfikatory danego typu obiektów należących do grupy.
    • getParent - Zwraca identyfikator nadgrupy. Gdy grupa nie ma zdefiniowanej nadgrupy zwracany jest pusty napis.
    • prepGroupObject - Inicjuje początkowy stan grupy. W tym przypadku sortuje członków grupy.

  9. ohMetaClassNode
  10. Z tej klasy dziedziczą inne klasy reprezentujące klasy i obiekty w programie OHTML. Udostępnia ona podstawową funkcjonalność do obsługi ich "obiektowości".

    Atrybuty:

    • clName - Nazwa klasy
    • exName - Nazwa nadklasy
    • methods - Tablica asocjacyjna do przechowywania metod.
    • attributes - Tablica asocjacyjna do przechowywania atrybutów.
    • cgroups - Napis zawierający identyfikatory grup do której należy reprezentowany obiekt.

    Metody:

    • inheriteMembers - Wyszukuje nadklasę i kopiuje jej atrybuty i wskaźniki do metod. Innymi słowy wykonuje "dziedziczenie" z nadklasy.
    • executeMethod - Wyszukuje podaną metodę w tablicy asocjacyjnej metod i wywołuję ją.
    • getAttr- Wyszukuje podany atrybut w tablicy asocjacyjnej i zwraca wskaźnik do niego.

  11. ohFileNode
  12. Klasa ta reprezentuje obiekt OHTML typu file.

    Atrybuty:

    • fiName - Identyfikator obiektu
    • filepath - Ścieżka dostępu do generowanego pliku.
    • filename - Nazwa generowanego pliku.
    • virname - URL generowanego pliku.
    • longFilename - Długa nazwa obiektu.
    • instr - Instrukcja służąca do wygenerowania zawartości pliku.

    Metody:

    • compile - Od wywołania tej metody rozpoczyna się właściwa kompilacja programu. Przed jej wywołaniem powinny być wykonane metody inicjujące obiekty, np. klasy OHTML powinny być wstawione do globalnej tablicy i dokonać "dziedziczenia". Metoda ta wykonuje instrukcję instr, która musi być instrukcją wywołania metody z podanej klasy.
    • prepFileObject - Inicjuje stan początkowy: tworzy pełną nazwę pliku, URL, dodaje obiekt do grup, ustawia zmienną longname.

  13. ohClassNode
  14. Klasa ta reprezentuje klasę OHTML.

    Atrybuty:

    • members - Lista składowych klasy.

    Metody:

    • buildMaps - Dodanie składowych do wewnętrznych tablic asocjacyjnych i ewentualne ustawienie stałych atrybutów klasy takich jak: directory, groups, extension.
    • getDirpath - Zwraca ścieżkę dostępu.
    • getVirpath - Zwraca początek URL'a.
    • getExt - Zwraca rozszerzenie plików dla obiektów typu file tworzonych z reprezentowanej klasy OHTML.

  15. ohImageNode
  16. Klasa to reprezentuje obiektu OHTML typu rysunek. Tworzy ona podstawowe metody tego typu obiektu: href, fhref, filename, size, width, height.

  17. ohBaseClassNode
  18. Jest to klasa reprezentująca klasę bazową OHTML o nazwie ohbase. Tworzy ona podstawowe metody dla tej klasy takie jak: href, fhref, filename, groups.

  19. ohInstrNode
  20. Klasa bazowa dla wszystkich klas przechowujących elementy programu będące instrukcjami.

    Metody:

    • execute - Wykonanie instrukcji i zwrócenie wyniku.

  21. ohExprNode
  22. Jest to klasa bazowa dla klas reprezentujących podstawowe wyrażenia operujące na napisach, liczbach całkowitych i grupach.

    Atrybuty:

    • left - Wskazuje na lewy argument.
    • right - Wskazuje na prawy argument.

    Metody:

    • eval - Wykonuje wyrażanie i zwraca wartość logiczną prawda lub fałsz.

  23. ohEnv
  24. Klasa ta przechowuje informacje o środowisku działania kompilatora takie jak: katalog do którego będą zapisywane generowane pliki, początek URL'u pod którym będą dostępne strony i domyślne rozszerzenie plików. Dodatkowo klasa ta posiada metody do wypisywania komunikatów o błędach.

Listopad 2000