001 /**
002 * <copyright>
003 * </copyright>
004 *
005 * $Id$
006 */
007 package com.hammurapi.party;
008
009 import java.util.Date;
010
011 /**
012 * <!-- begin-user-doc -->
013 * A representation of the model object '<em><b>Date Effective Object</b></em>'.
014 * <!-- end-user-doc -->
015 *
016 * <!-- begin-model-doc -->
017 * Object which is effective for a certain period of time.
018 * <!-- end-model-doc -->
019 *
020 * <p>
021 * The following features are supported:
022 * <ul>
023 * <li>{@link com.hammurapi.party.DateEffectiveObject#getStart <em>Start</em>}</li>
024 * <li>{@link com.hammurapi.party.DateEffectiveObject#getEnd <em>End</em>}</li>
025 * </ul>
026 * </p>
027 *
028 * @see com.hammurapi.party.PartyPackage#getDateEffectiveObject()
029 * @model interface="true" abstract="true"
030 * @generated
031 */
032 public interface DateEffectiveObject extends Tagged {
033 /**
034 * Returns the value of the '<em><b>Start</b></em>' attribute.
035 * <!-- begin-user-doc -->
036 * <!-- end-user-doc -->
037 * <!-- begin-model-doc -->
038 * Start date.
039 * <!-- end-model-doc -->
040 * @return the value of the '<em>Start</em>' attribute.
041 * @see #setStart(Date)
042 * @see com.hammurapi.party.PartyPackage#getDateEffectiveObject_Start()
043 * @model
044 * @generated
045 */
046 Date getStart();
047
048 /**
049 * Sets the value of the '{@link com.hammurapi.party.DateEffectiveObject#getStart <em>Start</em>}' attribute.
050 * <!-- begin-user-doc -->
051 * <!-- end-user-doc -->
052 * @param value the new value of the '<em>Start</em>' attribute.
053 * @see #getStart()
054 * @generated
055 */
056 void setStart(Date value);
057
058 /**
059 * Returns the value of the '<em><b>End</b></em>' attribute.
060 * <!-- begin-user-doc -->
061 * <!-- end-user-doc -->
062 * <!-- begin-model-doc -->
063 * End date.
064 *
065 * <!-- end-model-doc -->
066 * @return the value of the '<em>End</em>' attribute.
067 * @see #setEnd(Date)
068 * @see com.hammurapi.party.PartyPackage#getDateEffectiveObject_End()
069 * @model
070 * @generated
071 */
072 Date getEnd();
073
074 /**
075 * Sets the value of the '{@link com.hammurapi.party.DateEffectiveObject#getEnd <em>End</em>}' attribute.
076 * <!-- begin-user-doc -->
077 * <!-- end-user-doc -->
078 * @param value the new value of the '<em>End</em>' attribute.
079 * @see #getEnd()
080 * @generated
081 */
082 void setEnd(Date value);
083
084 /**
085 * <!-- begin-user-doc -->
086 * <!-- end-user-doc -->
087 * <!-- begin-model-doc -->
088 * Returns true if object is currently effective.
089 * <!-- end-model-doc -->
090 * @model kind="operation"
091 * @generated
092 */
093 boolean isEffectiveNow();
094
095 /**
096 * <!-- begin-user-doc -->
097 * <!-- end-user-doc -->
098 * <!-- begin-model-doc -->
099 * Returns true if object is effective at given date.
100 * @param date Date for which effectiveness is checked.
101 * <!-- end-model-doc -->
102 * @model
103 * @generated
104 */
105 boolean isEffective(Date date);
106
107 } // DateEffectiveObject