Class EventDatabase

  • All Implemented Interfaces:
    IEventDatabase
    Direct Known Subclasses:
    BasicEventDatabase

    public abstract class EventDatabase
    extends java.lang.Object
    implements IEventDatabase
    Abstract class to keep track of states of fluents, intervals, etc.
    Author:
    B.F.A. Hompes
    • Constructor Summary

      Constructors 
      Constructor Description
      EventDatabase()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map<java.lang.String,​com.google.common.collect.Table<java.lang.String,​java.lang.String,​IntervalList>> getFluentValueMVIs()  
      long getLastTimeStamp()  
      java.lang.String holdsAt​(java.lang.String fluent, java.lang.String arguments, long timestamp)
      Queries the database to see what value V has at timestamp T in holdsAt(F(A)=V,T).
      boolean holdsAt​(java.lang.String fluent, java.lang.String arguments, java.lang.String value, long timestamp)
      Queries the database to see whether holdsAt(F(A)=V,T) holds.
      IntervalList holdsFor​(java.lang.String fluent, java.lang.String arguments, java.lang.String value)
      Queries the database for holdsFor(F(A, I) and returns I.
      boolean holdsFor​(java.lang.String fluent, java.lang.String arguments, java.lang.String value, Interval interval)
      Queries the database for holdsFor(F(A),I) and returns whether it holds.
      void initiate​(java.lang.String fluent, java.lang.String arguments, java.lang.String value, long timestamp)
      Will initiate the value V for the fluent F(A) at timestamp T.
      void set​(java.lang.String fluent, java.lang.String arguments, java.lang.String value, IntervalList list)
      Will set the fluent F(A) to value V for the list of intervals L.
      void setFluentValueMVIs​(java.util.Map<java.lang.String,​com.google.common.collect.Table<java.lang.String,​java.lang.String,​IntervalList>> fluentMVIs)  
      void setLastTimeStamp​(long timestamp)  
      void terminate​(java.lang.String fluent, java.lang.String arguments, java.lang.String value, long timestamp)
      Will terminate the value V for the fluent F(A) at timestamp T.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EventDatabase

        public EventDatabase()
    • Method Detail

      • getFluentValueMVIs

        public java.util.Map<java.lang.String,​com.google.common.collect.Table<java.lang.String,​java.lang.String,​IntervalList>> getFluentValueMVIs()
        Specified by:
        getFluentValueMVIs in interface IEventDatabase
      • setFluentValueMVIs

        public void setFluentValueMVIs​(java.util.Map<java.lang.String,​com.google.common.collect.Table<java.lang.String,​java.lang.String,​IntervalList>> fluentMVIs)
        Specified by:
        setFluentValueMVIs in interface IEventDatabase
      • holdsAt

        public boolean holdsAt​(java.lang.String fluent,
                               java.lang.String arguments,
                               java.lang.String value,
                               long timestamp)
        Queries the database to see whether holdsAt(F(A)=V,T) holds.
        Specified by:
        holdsAt in interface IEventDatabase
        Parameters:
        fluent - F
        arguments - A
        value - V
        timestamp - T
        Returns:
      • holdsAt

        public java.lang.String holdsAt​(java.lang.String fluent,
                                        java.lang.String arguments,
                                        long timestamp)
        Queries the database to see what value V has at timestamp T in holdsAt(F(A)=V,T). In case no value exists, null is returned.
        Specified by:
        holdsAt in interface IEventDatabase
        Parameters:
        fluent - F
        arguments - A
        timestamp - T
        Returns:
        value V
      • holdsFor

        public IntervalList holdsFor​(java.lang.String fluent,
                                     java.lang.String arguments,
                                     java.lang.String value)
        Queries the database for holdsFor(F(A, I) and returns I.
        Specified by:
        holdsFor in interface IEventDatabase
        Parameters:
        fluent - F
        arguments - A
        value - V
        Returns:
        I
      • holdsFor

        public boolean holdsFor​(java.lang.String fluent,
                                java.lang.String arguments,
                                java.lang.String value,
                                Interval interval)
        Queries the database for holdsFor(F(A),I) and returns whether it holds.
        Specified by:
        holdsFor in interface IEventDatabase
        Parameters:
        fluent - F
        arguments - A
        value - V
        interval - I
        Returns:
      • initiate

        public void initiate​(java.lang.String fluent,
                             java.lang.String arguments,
                             java.lang.String value,
                             long timestamp)
        Will initiate the value V for the fluent F(A) at timestamp T. Will also terminate all other values for F(A) at timestamp T since fluents can have only one value at any given time.
        Specified by:
        initiate in interface IEventDatabase
        Parameters:
        fluent - F
        arguments - A
        value - V
        timestamp - T
      • terminate

        public void terminate​(java.lang.String fluent,
                              java.lang.String arguments,
                              java.lang.String value,
                              long timestamp)
        Will terminate the value V for the fluent F(A) at timestamp T.
        Specified by:
        terminate in interface IEventDatabase
        Parameters:
        fluent - FF
        arguments - A
        value - V
        timestamp - T
      • set

        public void set​(java.lang.String fluent,
                        java.lang.String arguments,
                        java.lang.String value,
                        IntervalList list)
        Will set the fluent F(A) to value V for the list of intervals L.
        Specified by:
        set in interface IEventDatabase
        Parameters:
        fluent - F
        arguments - A
        value - V
        list - L
      • setLastTimeStamp

        public void setLastTimeStamp​(long timestamp)