Package owl.automaton.acceptance
Class OmegaAcceptanceCast
- java.lang.Object
-
- owl.automaton.acceptance.OmegaAcceptanceCast
-
public final class OmegaAcceptanceCast extends Object
This class provides functionality to cast an automaton to an automaton with a more generic acceptance condition. This operation yields a on-the-fly generated view on the backing automaton. It is assumed that the backing automaton is not modified anymore after the cast.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <S,A extends EmersonLeiAcceptance,B extends EmersonLeiAcceptance>
Automaton<S,? extends B>cast(Automaton<S,A> automaton, Class<? extends B> acceptanceClass)
Cast the given automaton to the given acceptance condition if possible.static boolean
isInstanceOf(Class<? extends EmersonLeiAcceptance> clazz1, Class<? extends EmersonLeiAcceptance> clazz2)
-
-
-
Method Detail
-
cast
public static <S,A extends EmersonLeiAcceptance,B extends EmersonLeiAcceptance> Automaton<S,? extends B> cast(Automaton<S,A> automaton, Class<? extends B> acceptanceClass)
Cast the given automaton to the given acceptance condition if possible. A conversion is considered possible if (trivial) rewriting of the acceptance condition is done and no changes to state space are necessary, e.g. a Büchi condition can be translated to a Rabin condition, but a Rabin condition (even only with a single pair) cannot be cast to parity acceptance condition.- Type Parameters:
S
- The state type.A
- The current acceptance type.B
- The desired acceptance type.- Parameters:
automaton
- The automaton. It is assumed that after calling this method the automaton is not modified anymore.acceptanceClass
- The desired acceptance condition.- Returns:
- A view on the given automaton with the necessary changes.
-
isInstanceOf
public static boolean isInstanceOf(Class<? extends EmersonLeiAcceptance> clazz1, Class<? extends EmersonLeiAcceptance> clazz2)
-
-