Skip to content

Package: DatabaseIDState

DatabaseIDState

Coverage

1: package de.fhdw.wtf.common.ast;
2:
3: import java.io.Serializable;
4:
5: import de.fhdw.wtf.common.ast.visitor.DatabaseIDStateVisitor;
6: import de.fhdw.wtf.common.ast.visitor.DatabaseIDStateVisitorReturn;
7: import de.fhdw.wtf.common.ast.visitor.DatabaseIDStateVisitorReturnException;
8: import de.fhdw.wtf.common.exception.generation.NoTypeIdSetException;
9:
10: /**
11: * Interface for State-Pattern. {@link DatabaseIDState} can be {@link DatabaseIDSetState} or
12: * {@link DatabaseIDNotSetState}.
13: *
14: */
15: public interface DatabaseIDState extends Serializable {
16:         
17:         /**
18:          * Accepts a visitor.
19:          *
20:          * @param v
21:          * The Visitor to be accepted.
22:          */
23:         void accept(DatabaseIDStateVisitor v);
24:         
25:         /**
26:          * Accepts a visitor with dynamic return type.
27:          *
28:          * @param v
29:          * The Visitor to be accepted.
30:          * @param <X>
31:          * ReturnType
32:          * @return X
33:          */
34:         <X> X accept(DatabaseIDStateVisitorReturn<X> v);
35:         
36:         /**
37:          * Accepts a visitor with dynamic return type and exception.
38:          *
39:          * @param v
40:          * The Visitor to be accepted.
41:          * @param <X>
42:          * ReturnType
43:          * @param <Y>
44:          * ExceptionType
45:          * @return X
46:          * @throws Y
47:          * Exception
48:          */
49:         <X, Y extends Exception> X accept(DatabaseIDStateVisitorReturnException<X, Y> v) throws Y;
50:         
51:         /**
52:          * Returns the current Id of this object.
53:          *
54:          * @return database id
55:          * @throws NoTypeIdSetException
56:          * no type id has been set.
57:          */
58:         long getId() throws NoTypeIdSetException;
59:         
60: }