SRJRCFrames
v0.1.296

de.schwarzrot.data.meta.support
Class AbstractMetaEntity<N extends Comparable<?>>

java.lang.Object
  extended by com.jgoodies.binding.beans.Model
      extended by de.schwarzrot.data.support.AbstractEntity
          extended by de.schwarzrot.data.meta.support.AbstractMetaEntity<N>
All Implemented Interfaces:
com.jgoodies.binding.beans.Observable, Entity, MetaEntity<N>, NamedEntity<N>, Serializable, Comparable<Entity>
Direct Known Subclasses:
AbstractMetaChildEntity, DatabaseModel

public abstract class AbstractMetaEntity<N extends Comparable<?>>
extends AbstractEntity
implements MetaEntity<N>

See Also:
Serialized Form

Field Summary
static String MODEL_SCHEMA
           
 
Constructor Summary
AbstractMetaEntity()
           
AbstractMetaEntity(AbstractMetaEntity<N> other)
           
 
Method Summary
 int compareTo(Entity other)
           
 String getComment()
          getter of the MetaEntitys comment
 String getLogicalName()
           
 Map<String,String> getMappings()
          returns a map with mappings of logical property names to physical property names (column names in database terms).
 N getName()
           
 long getPhysID()
           
 String getSchemaName()
          returns the schema for this entity.
 List<String> getUniqColumnNames()
          returns a list of property names, which serve to detect a uniq instance without the usage of the primary key.
 void setComment(String comment)
          setter of the MetaEntitys comment
 void setName(N name)
           
 void setPhysID(long physID)
           
 
Methods inherited from class de.schwarzrot.data.support.AbstractEntity
adoptChildren, adoptChildren, adoptGroupedChildren, equals, getCModified, getCode, getDefaultOrder, getDtCreated, getDtModified, getId, getLogger, getPersistenceName, getSkipList, getSystemClass, getUCreated, getUModified, getUserAttributes, getVariantColumnName, getVariantTypeMap, hashCode, isDirty, isUserType, isVirtual, setCModified, setDirty, setDtCreated, setDtModified, setId, setSchemaName, setUCreated, setUModified, toString, validate
 
Methods inherited from class com.jgoodies.binding.beans.Model
addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, equals, fireIndexedPropertyChange, fireIndexedPropertyChange, fireIndexedPropertyChange, fireMultiplePropertiesChanged, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getPropertyChangeListeners, getPropertyChangeListeners, getVetoableChangeListeners, getVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.schwarzrot.data.Entity
getCModified, getDefaultOrder, getDtCreated, getDtModified, getId, getPersistenceName, getSkipList, getSystemClass, getUCreated, getUModified, getUserAttributes, getVariantColumnName, getVariantTypeMap, isDirty, isUserType, isVirtual, setCModified, setDirty, setDtCreated, setDtModified, setId, setUCreated, setUModified, validate
 
Methods inherited from interface com.jgoodies.binding.beans.Observable
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

MODEL_SCHEMA

public static final String MODEL_SCHEMA
See Also:
Constant Field Values
Constructor Detail

AbstractMetaEntity

public AbstractMetaEntity()

AbstractMetaEntity

public AbstractMetaEntity(AbstractMetaEntity<N> other)
Method Detail

compareTo

public int compareTo(Entity other)
Specified by:
compareTo in interface Comparable<Entity>
Overrides:
compareTo in class AbstractEntity

getComment

public final String getComment()
Description copied from interface: MetaEntity
getter of the MetaEntitys comment

Specified by:
getComment in interface MetaEntity<N extends Comparable<?>>
Returns:
the comment or null

getLogicalName

public String getLogicalName()
Specified by:
getLogicalName in interface MetaEntity<N extends Comparable<?>>

getMappings

public Map<String,String> getMappings()
Description copied from interface: Entity
returns a map with mappings of logical property names to physical property names (column names in database terms).

Every implementation should respect the parents mappings. The following sample shows different mapping types:

 public Map<String, String> getMappings() {
     Map<String, String> mappings = super.getMappings();
     mappings.put("title", "name");
     mappings.put("streams", Stream.class.getName());
     mappings.put("pageDefinitions", "pageType|" + ThemeElement.class.getName());
     return mappings;
 }
 
The mappings explained:
"title" -> "name"
the logical "title"-attribute is stored to persistence with a physical name "name"
"streams" -> Stream.class.getName()
the "streams" property holds related children. Unknown children are hold in a List, known (named) children are hold in a Map. The mapped value is used as classname to create child instances.
"pageDefinitions" -> "pageType|" + ThemeElement.class.getName()
pageDefinitions is a property of type Map, that holds grouped children. Known children are hold by a Map, unknown children by a List, so "pageDefinitions" may contain elements of type Map, or List. pageType, a property of ThemeElement, is used to group the children. The word before the '|' is the property name used as key value for grouping and the type after '|' is used to create instances.

Specified by:
getMappings in interface Entity
Overrides:
getMappings in class AbstractEntity
Returns:
a Map with property names as keys and column names as values.

getName

public N getName()
Specified by:
getName in interface NamedEntity<N extends Comparable<?>>

getPhysID

public final long getPhysID()

getSchemaName

public String getSchemaName()
Description copied from interface: Entity
returns the schema for this entity. Not all storage types support schemata, so on systems, where the schema is not supported, it will be a prefix to the persistent name.

Specified by:
getSchemaName in interface Entity
Overrides:
getSchemaName in class AbstractEntity
Returns:
a schema name

getUniqColumnNames

public List<String> getUniqColumnNames()
Description copied from interface: Entity
returns a list of property names, which serve to detect a uniq instance without the usage of the primary key. In database context this list is used to decide, whether a save operation needs an update or an insert.

Specified by:
getUniqColumnNames in interface Entity
Overrides:
getUniqColumnNames in class AbstractEntity
Returns:
a list of property names

setComment

public final void setComment(String comment)
Description copied from interface: MetaEntity
setter of the MetaEntitys comment

Specified by:
setComment in interface MetaEntity<N extends Comparable<?>>
Parameters:
comment - the comment to set

setName

public void setName(N name)
Specified by:
setName in interface NamedEntity<N extends Comparable<?>>

setPhysID

public final void setPhysID(long physID)

SRJRCFrames
v0.1.296

hosted at
Find SRJRCFrames at SourceForge.net. Fast, secure and free:
           Open Source Software download
Submit a bug or request a feature

SRJRCFrames is published according to the GNU General Public License
Copyright 2005-2012 Reinhard Mantey - some rights reserved.