001package de.monochromata.anaphors.cog.activation;
002
003/**
004 * An entity that can have an activation value calculated by an activation
005 * formula.
006 * 
007 * <p>
008 * The activation of an activatable can be computed for arbitary points in time,
009 * as defined in {@link ActivationFormula}.
010 * </p>
011 * 
012 * @since 1.0.146
013 */
014public interface Activatable {
015
016        /**
017         * Returns the estimated activation value of this activatable object at the
018         * given timestamp.
019         * <p>
020         * If this method is invoked multiple times with the same timestamp, it
021         * might return the same {@link EstimatedActivationValue} or another
022         * instance that is equal to the previous ones (i.e.
023         * {@code newResult.compareTo(oldResult) == 0}).
024         * 
025         * @param timestamp
026         *            A timestamp as returned by {@link System#currentTimeMillis()}.
027         * @return The activation value at the given timestamp.
028         */
029        public EstimatedActivationValue getEstimatedActivationValue(long timestamp);
030
031}