src/horaris/Horaro.java
author viric@llimona
Wed, 17 Jan 2007 19:14:26 +0100
changeset 12 3932322b7d83
permissions -rw-r--r--
Half-commit. Not finished.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
     1
package horaris;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
     2
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
     3
import ogdl.OgdlParser;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
     4
import ogdl.parser.*;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
     5
import java.util.Vector;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
     6
import java.util.Hashtable;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
     7
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
     8
public class Horaro extends ParserHandlerBase
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
     9
{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    10
	private final int S_RADIKO = 0;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    11
	private final int S_TAGOJ =  1;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    12
	private final int S_ENTAGO = 2;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    13
	private final int S_LOKOJ =  3;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    14
	private final int S_SENCOJ = 4;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    15
	private final int S_FINO = 5;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    16
	public Vector tagoj;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    17
	public int defaulttago = 0;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    18
	public Vector lokoj;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    19
	public Vector sencoj;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    20
	public Hashtable sencolokoj;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    21
	private int state;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    22
	private int nivelo;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    23
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    24
	public Horaro()
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    25
	{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    26
		tagoj = new Vector();
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    27
		lokoj = new Vector();
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    28
		sencoj = new Vector();
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    29
	}
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    30
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    31
	private void addTago(String s)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    32
	{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    33
		tagoj.addElement(s);
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    34
	}
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    35
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    36
	private void addLoko(String s)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    37
	{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    38
		lokoj.addElement(s);
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    39
	}
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    40
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    41
	private void addSenco(String s)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    42
	{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    43
		sencoj.addElement(s);
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    44
	}
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    45
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    46
	private void add(String s)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    47
	{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    48
		if (nivelo == 0)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    49
		{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    50
			System.err.println("Nivelo 0: " + s);
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    51
			if (s.equals("Dies"))
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    52
				state = S_TAGOJ;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    53
			else if (s.equals("Sentits"))
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    54
				state = S_SENCOJ;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    55
			else if (s.equals("Llocs"))
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    56
				state = S_LOKOJ;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    57
			else if (s.equals("Comboi"))
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    58
				state = S_FINO;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    59
		} else if (nivelo == 1)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    60
		{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    61
			System.err.println("Nivelo 1: " + s);
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    62
			switch(state)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    63
			{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    64
				case S_TAGOJ:
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    65
					addTago(s);
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    66
					break;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    67
				case S_LOKOJ:
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    68
					addLoko(s);
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    69
					break;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    70
				case S_SENCOJ:
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    71
					addSenco(s);
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    72
					break;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    73
			}
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    74
		} else if (nivelo == 2) {
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    75
			System.err.println("Nivelo 2");
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    76
		}
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    77
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    78
	}
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    79
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    80
	public boolean event(int speco, int level, String s)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    81
	{
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    82
		if (speco != OgdlParser.CONTENT)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    83
			return true;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    84
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    85
		if (s == null) return true;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    86
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    87
		nivelo = level;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    88
		add(s);
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    89
		if (state == S_FINO)
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    90
			return false;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    91
		else
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    92
			return true;
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    93
	}
3932322b7d83 Half-commit. Not finished.
viric@llimona
parents:
diff changeset
    94
}