pl.edu.agh.cast.data.model.domain
Class DomainDataSet<T extends IDomainElement>

java.lang.Object
  extended by pl.edu.agh.cast.data.model.property.PropertyContainer
      extended by pl.edu.agh.cast.data.model.AbstractDataSet<T>
          extended by pl.edu.agh.cast.data.model.domain.DomainDataSet<T>
Type Parameters:
T - type of domain elements contained in the data set
All Implemented Interfaces:
Serializable, Observer, IDisposable, IValidatable, IDomainDataSet<T>, IDataSet<T>, Identifiable, IPropertyContainer
Direct Known Subclasses:
GeneralDataSet

public abstract class DomainDataSet<T extends IDomainElement>
extends AbstractDataSet<T>
implements IDomainDataSet<T>

Abstract data set of domain specific models.

Author:
AGH CAST Team
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface pl.edu.agh.cast.data.model.IDataSet
IDataSet.Properties
 
Field Summary
 
Fields inherited from interface pl.edu.agh.cast.data.model.domain.IDomainDataSet
ACCEPTED_TYPES, TYPE
 
Constructor Summary
protected DomainDataSet(DomainDataSetDescriptor descriptor)
          Initializes data set with its descriptor and a newly created MetaPropertyManager.
protected DomainDataSet(DomainDataSetDescriptor descriptor, MetaPropertyManager metaPropertyManager)
          Initializes data set with its descriptor and MetaPropertyManager.
  DomainDataSet(DomainDataSetDescriptor descriptor, MetaPropertyManager metaPropertyManager, Map<Type,MetaPropertyManager> elementMPMs)
          Initializes data set with its descriptor and MetaPropertyManager.
 
Method Summary
protected  DomainDataSetDescriptor acquireDescriptor()
          Returns the non-null descriptor of this data set.
protected  DomainDataSetDescriptor createNewDescriptor()
          Returns new, uninitialized instance of descriptor.
 Collection<Type> getAcceptedTypes()
          Returns collection of types of IElements this data set is able to accept.
 DomainDataSetDescriptor getDescriptor()
          Returns the descriptor of this data set.
 Date getSourceDate()
          Returns the date of source acquisition.
 String getSourceDescription()
          Returns the description of the data set source.
 String getSourceName()
          Returns the name of the data set source.
protected  boolean isDescriptorValid(DataSetDescriptor descriptor)
          Checks if the descriptor is valid for the data set.
 void setSourceDate(Date sourceDate)
          Sets the date of source acquisition.
 void setSourceDescription(String sourceDescription)
          Sets the description of the data set source.
 void setSourceName(String sourceName)
          Sets the name of the data set source.
 
Methods inherited from class pl.edu.agh.cast.data.model.AbstractDataSet
addElement, addElements, addElements, addMetaPropertyManager, addMetaPropertyManager, addMetaPropertyManagersForAcceptedTypes, afterAddElement, afterRemoveElement, afterSetMetaPropertyManager, beforeAddElement, beforeRemoveElement, checkIfValid, equals, getAssignableElements, getCreationDate, getDescString, getElement, getElementCount, getElements, getElements, getElementTypes, getId, getMetaPropertyManager, getMetaPropertyManagers, getName, getRegisteredTypes, getType, hashCode, isElementValid, isValid, removeElement, removeElement, removeElements, removeElements, setCreationDate, setDescriptor, setElements, setId, setName, setType, toString
 
Methods inherited from class pl.edu.agh.cast.data.model.property.PropertyContainer
addProperty, createProperty, dispose, getCustomProperties, getMetaPropertyManager, getPermanentProperties, getProperties, getProperty, getTransientProperties, initializeProperties, matches, removeProperty, setMetaPropertyManager, setProperty, update
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface pl.edu.agh.cast.data.model.IDataSet
addElement, addElements, addElements, addMetaPropertyManager, addMetaPropertyManagersForAcceptedTypes, getAssignableElements, getCreationDate, getElement, getElementCount, getElements, getElements, getElementTypes, getMetaPropertyManager, getMetaPropertyManagers, getName, getRegisteredTypes, removeElement, removeElement, removeElements, removeElements, setCreationDate, setElements, setName
 
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
 

Constructor Detail

DomainDataSet

protected DomainDataSet(DomainDataSetDescriptor descriptor)
Initializes data set with its descriptor and a newly created MetaPropertyManager.

Parameters:
descriptor - the domain data set descriptor
Throws:
IllegalArgumentException - if type is null
See Also:
AbstractDataSet.AbstractDataSet(DataSetDescriptor)

DomainDataSet

protected DomainDataSet(DomainDataSetDescriptor descriptor,
                        MetaPropertyManager metaPropertyManager)
Initializes data set with its descriptor and MetaPropertyManager.

Parameters:
descriptor - the domain data set descriptor
metaPropertyManager - manager of data set's meta properties
Throws:
IllegalArgumentException - if any of the arguments is null
See Also:
AbstractDataSet.AbstractDataSet(DataSetDescriptor, MetaPropertyManager)

DomainDataSet

public DomainDataSet(DomainDataSetDescriptor descriptor,
                     MetaPropertyManager metaPropertyManager,
                     Map<Type,MetaPropertyManager> elementMPMs)
Initializes data set with its descriptor and MetaPropertyManager. It also accepts a map of element MetaPropertyManagers.

Parameters:
descriptor - the data set descriptor
metaPropertyManager - manager of data set's meta properties
elementMPMs - a map of element MetaPropertyManagers indexed with Types
Throws:
IllegalArgumentException - if any of the arguments (except elementMPMs) is null
See Also:
AbstractDataSet#AbstractDataSet(DataSetDescriptor, MetaPropertyManager, Map)
Method Detail

isDescriptorValid

protected final boolean isDescriptorValid(DataSetDescriptor descriptor)
Checks if the descriptor is valid for the data set.

This method is called by the AbstractDataSet.setDescriptor(DataSetDescriptor) method. By default it always returns true, however it can be overridden in order to define new descriptor validation rules. In such case the implementation from base class should be called inside the overridden method in order to preserve data consistency.

Overrides:
isDescriptorValid in class AbstractDataSet<T extends IDomainElement>
Parameters:
descriptor - the descriptor to validate
Returns:
true if given descriptor is valid, false otherwise
See Also:
AbstractDataSet.isDescriptorValid(pl.edu.agh.cast.data.model.DataSetDescriptor)

createNewDescriptor

protected final DomainDataSetDescriptor createNewDescriptor()
Returns new, uninitialized instance of descriptor.

This method may be overridden in order to provide

Overrides:
createNewDescriptor in class AbstractDataSet<T extends IDomainElement>
Returns:
new instance of data set descriptor
See Also:
AbstractDataSet.createNewDescriptor()

acquireDescriptor

protected final DomainDataSetDescriptor acquireDescriptor()
Returns the non-null descriptor of this data set. If the descriptor has not been defined yet, a new instance is created and assigned to this data set.

Overrides:
acquireDescriptor in class AbstractDataSet<T extends IDomainElement>
Returns:
the (non-null) descriptor of this data set
See Also:
AbstractDataSet.acquireDescriptor()

getDescriptor

public final DomainDataSetDescriptor getDescriptor()
Returns the descriptor of this data set.

Specified by:
getDescriptor in interface IDomainDataSet<T extends IDomainElement>
Specified by:
getDescriptor in interface IDataSet<T extends IDomainElement>
Overrides:
getDescriptor in class AbstractDataSet<T extends IDomainElement>
Returns:
the descriptor of this data set
See Also:
AbstractDataSet.getDescriptor()

getAcceptedTypes

public Collection<Type> getAcceptedTypes()
Returns collection of types of IElements this data set is able to accept.

This method should be overridden by all concrete subclasses.

Returns collection of types of elements this data set is able to accept.

Specified by:
getAcceptedTypes in interface IDataSet<T extends IDomainElement>
Overrides:
getAcceptedTypes in class AbstractDataSet<T extends IDomainElement>
Returns:
collection of element types this data set is able to accept
See Also:
AbstractDataSet.getAcceptedTypes()

getSourceName

public String getSourceName()
Returns the name of the data set source.

Specified by:
getSourceName in interface IDomainDataSet<T extends IDomainElement>
Returns:
the name of the data set source
See Also:
IDomainDataSet.getSourceName(), DomainDataSetDescriptor.getSourceName()

setSourceName

public void setSourceName(String sourceName)
Sets the name of the data set source.

Specified by:
setSourceName in interface IDomainDataSet<T extends IDomainElement>
Parameters:
sourceName - the name of the data set source
See Also:
IDomainDataSet.setSourceName(java.lang.String), DomainDataSetDescriptor.setSourceName(java.lang.String)

getSourceDescription

public String getSourceDescription()
Returns the description of the data set source.

Specified by:
getSourceDescription in interface IDomainDataSet<T extends IDomainElement>
Returns:
the description of the data set source
See Also:
IDomainDataSet.getSourceDescription(), DomainDataSetDescriptor.getSourceDescription()

setSourceDescription

public void setSourceDescription(String sourceDescription)
Sets the description of the data set source.

Specified by:
setSourceDescription in interface IDomainDataSet<T extends IDomainElement>
Parameters:
sourceDescription - the description of the data set source
See Also:
IDomainDataSet.setSourceDescription(java.lang.String), DomainDataSetDescriptor.setSourceDescription(java.lang.String)

getSourceDate

public Date getSourceDate()
Returns the date of source acquisition.

Specified by:
getSourceDate in interface IDomainDataSet<T extends IDomainElement>
Returns:
the date of source acquisition
See Also:
IDomainDataSet.getSourceDate(), DomainDataSetDescriptor.getSourceDate()

setSourceDate

public void setSourceDate(Date sourceDate)
Sets the date of source acquisition.

Specified by:
setSourceDate in interface IDomainDataSet<T extends IDomainElement>
Parameters:
sourceDate - the date of source acquisition
See Also:
IDomainDataSet.setSourceDate(java.util.Date), DomainDataSetDescriptor.setSourceDate(java.util.Date)


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