de.schwarzrot.data.meta
Class AttributeDomain
java.lang.Object
com.jgoodies.binding.beans.Model
de.schwarzrot.data.support.AbstractEntity
de.schwarzrot.data.meta.support.AbstractMetaEntity<N>
de.schwarzrot.data.meta.support.AbstractMetaChildEntity<String,DatabaseModel>
de.schwarzrot.data.meta.AttributeDomain
- All Implemented Interfaces:
- com.jgoodies.binding.beans.Observable, ChildEntity<DatabaseModel>, Entity, MetaEntity<String>, NamedChildEntity<String,DatabaseModel>, NamedEntity<String>, Serializable, Comparable<Entity>
public class AttributeDomain
- extends AbstractMetaChildEntity<String,DatabaseModel>
- See Also:
- Serialized Form
Methods inherited from class de.schwarzrot.data.support.AbstractEntity |
adoptChildren, adoptChildren, adoptGroupedChildren, equals, getCModified, getCode, getDefaultOrder, getDtCreated, getDtModified, getId, getLogger, getSkipList, getSystemClass, getUCreated, getUModified, getUserAttributes, getVariantColumnName, getVariantTypeMap, hashCode, isDirty, isUserType, isVirtual, setCModified, setDtCreated, setDtModified, setId, setSchemaName, setUCreated, setUModified, 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 interface de.schwarzrot.data.Entity |
getCModified, getDefaultOrder, getDtCreated, getDtModified, getId, getSchemaName, getSkipList, getSystemClass, getUCreated, getUModified, getUniqColumnNames, getUserAttributes, getVariantColumnName, getVariantTypeMap, isDirty, isUserType, isVirtual, setCModified, setDtCreated, setDtModified, setId, setUCreated, setUModified, validate |
Methods inherited from interface com.jgoodies.binding.beans.Observable |
addPropertyChangeListener, removePropertyChangeListener |
AttributeDomain
public AttributeDomain()
AttributeDomain
public AttributeDomain(AttributeDomain other)
compareTo
public int compareTo(Entity other)
throws IllegalArgumentException
- Specified by:
compareTo
in interface Comparable<Entity>
- Overrides:
compareTo
in class AbstractMetaChildEntity<String,DatabaseModel>
- Throws:
IllegalArgumentException
determineReferences
public List<ColumnDefinition> determineReferences()
getDecimals
public final int getDecimals()
getDefaultValue
public final String getDefaultValue()
getLogicalName
public final String getLogicalName()
- Specified by:
getLogicalName
in interface MetaEntity<String>
- Overrides:
getLogicalName
in class AbstractMetaEntity<String>
- Returns:
- the logicalName
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 AbstractMetaEntity<String>
- Returns:
- a
Map
with property names as keys and column
names as values.
getParentType
public Class<DatabaseModel> getParentType()
- Description copied from interface:
ChildEntity
- returns the type of the parent entity
- Returns:
- the parent entity
getPersistenceName
public String getPersistenceName()
- Description copied from interface:
Entity
- returns the name of the entity for persistance. Normally it would be the
same result as
getClass().getSimpleName()
, but some storage may
have size limitations, or don't support case sensitive names, so this
call is to deal with that kind of limitations.
- Specified by:
getPersistenceName
in interface Entity
- Overrides:
getPersistenceName
in class AbstractEntity
- Returns:
- the entity-name used for persistence
getSize
public final int getSize()
getType
public final ColumnType getType()
isAutoincrement
public final boolean isAutoincrement()
needsUpdate
public boolean needsUpdate(AttributeDomain other)
setAutoincrement
public final void setAutoincrement(boolean autoincrement)
setDecimals
public final void setDecimals(int decimals)
setDefaultValue
public final void setDefaultValue(String defaultValue)
setLogicalName
public final void setLogicalName(String logicalName)
- Parameters:
logicalName
- the logicalName to set
setSize
public final void setSize(int size)
setType
public final void setType(ColumnType type)
toString
public String toString()
- Overrides:
toString
in class AbstractEntity
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.