pl.edu.agh.cast.data.model.general
Interface ITimedManyToManyRelation

All Superinterfaces:
Identifiable, IDisposable, IDomainElement, IElement, IGeneralElement, IManyToManyRelation, IPropertyContainer, IReplicable, IValidatable, Observer, Serializable
All Known Subinterfaces:
ITimedOneToOneRelation
All Known Implementing Classes:
TimedManyToManyRelation, TimedOneToOneRelation

public interface ITimedManyToManyRelation
extends IManyToManyRelation

An interface of many-to-many relations which took place in time. The timed relation may define its start date, end date and/or duration.

Each relation has to satisfy the following condition:

The names of the properties are: ITimedManyToManyRelation.Properties.RELATION_START_DATE, ITimedManyToManyRelation.Properties.RELATION_END_DATE and ITimedManyToManyRelation.Properties.RELATION_DURATION

Author:
AGH CAST Team

Nested Class Summary
static class ITimedManyToManyRelation.Properties
          Enumeration of property name constants.
 
Field Summary
static Type TYPE
          The type of timed many-to-many relation elements.
 
Method Summary
 Integer getDuration()
          Returns the duration of relation in milliseconds.
 Date getEndDate()
          Returns the date of relation occurrence end.
 Date getStartDate()
          Returns the date of relation occurrence start.
 void setEndDate(Date date)
          Sets the date of relation occurrence end.
 void setStartDate(Date date)
          Sets the date of relation occurrence start.
 
Methods inherited from interface pl.edu.agh.cast.data.model.general.IManyToManyRelation
addSourceEntitiy, addTargetEntitiy, getSourceEntities, getSourceEntitiy, getTargetEntities, getTargetEntitiy, isDirected, removeSourceEntitiy, removeTargetEntitiy, setDirected, setSourceEntities, setTargetEntities
 
Methods inherited from interface pl.edu.agh.cast.data.model.IElement
getDataSet
 
Methods inherited from interface pl.edu.agh.cast.data.model.Identifiable
getId, getType
 
Methods inherited from interface pl.edu.agh.cast.data.model.property.IPropertyContainer
addProperty, getCustomProperties, getMetaPropertyManager, getPermanentProperties, getProperties, getProperty, getTransientProperties, matches, removeProperty, setProperty
 
Methods inherited from interface java.util.Observer
update
 
Methods inherited from interface pl.edu.agh.cast.common.IValidatable
isValid
 
Methods inherited from interface pl.edu.agh.cast.common.IDisposable
dispose
 
Methods inherited from interface pl.edu.agh.cast.common.IReplicable
replicate, replicateTo
 

Field Detail

TYPE

static final Type TYPE
The type of timed many-to-many relation elements.

Method Detail

getStartDate

@PropertyGetter(name="RELATION_START_DATE",
                type=DATE,
                matchable=true)
Date getStartDate()
Returns the date of relation occurrence start.

Returns:
the date of relation occurrence start

setStartDate

@PropertySetter(name="RELATION_START_DATE")
void setStartDate(Date date)
Sets the date of relation occurrence start.

Parameters:
date - the start date to set

getEndDate

@PropertyGetter(name="RELATION_END_DATE",
                type=DATE,
                matchable=true)
Date getEndDate()
Returns the date of relation occurrence end.

Returns:
the date of relation occurrence end

setEndDate

@PropertySetter(name="RELATION_END_DATE")
void setEndDate(Date date)
Sets the date of relation occurrence end.

Parameters:
date - the end date to set

getDuration

@TransientProperty(name="RELATION_DURATION",
                   type=INTEGER,
                   matchable=true)
Integer getDuration()
Returns the duration of relation in milliseconds.

Returns:
the duration of relation in milliseconds


Copyright © 2007-2009 IISG AGH-UST Krakow, Poland. All Rights Reserved.