SRJRCFrames
v0.1.296

de.schwarzrot.app.domain
Class OptionBundle

java.lang.Object
  extended by com.jgoodies.binding.beans.Model
      extended by de.schwarzrot.data.support.AbstractEntity
          extended by de.schwarzrot.app.domain.OptionBundle
All Implemented Interfaces:
com.jgoodies.binding.beans.Observable, Entity, NamedEntity<String>, Serializable, Comparable<Entity>

public class OptionBundle
extends AbstractEntity
implements NamedEntity<String>

See Also:
Serialized Form

Field Summary
static String FIELD_APP_NAME
           
static String PERSISTENCE_NAME
           
 
Constructor Summary
OptionBundle()
           
 
Method Summary
 boolean containsOption(String name)
           
 String getApplicationName()
           
 Map<String,String> getMappings()
          returns a map with mappings of logical property names to physical property names (column names in database terms).
 String getName()
           
 Option getOption(String key)
           
 Map<String,Option> getOptions()
           
 String getPersistenceName()
          returns the name of the entity for persistance.
 Map<String,Integer> getSkipList()
          returns a map with property names, that EntityManagers should ignore.
 List<String> getUniqColumnNames()
          returns a list of property names, which serve to detect a uniq instance without the usage of the primary key.
 void setApplicationName(String appName)
           
 void setName(String name)
           
 void setOption(Option any)
           
 void setOption(String key)
           
 void setOption(String key, String value)
           
 void setOptions(Map<String,Option> options)
           
 String toString()
           
 
Methods inherited from class de.schwarzrot.data.support.AbstractEntity
adoptChildren, adoptChildren, adoptGroupedChildren, compareTo, equals, getCModified, getCode, getDefaultOrder, getDtCreated, getDtModified, getId, getLogger, getSchemaName, getSystemClass, getUCreated, getUModified, getUserAttributes, getVariantColumnName, getVariantTypeMap, hashCode, isDirty, isUserType, isVirtual, setCModified, setDirty, 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 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, getSchemaName, getSystemClass, getUCreated, getUModified, getUserAttributes, getVariantColumnName, getVariantTypeMap, isDirty, isUserType, isVirtual, setCModified, setDirty, setDtCreated, setDtModified, setId, setUCreated, setUModified, validate
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.jgoodies.binding.beans.Observable
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

FIELD_APP_NAME

public static final String FIELD_APP_NAME
See Also:
Constant Field Values

PERSISTENCE_NAME

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

OptionBundle

public OptionBundle()
Method Detail

containsOption

public boolean containsOption(String name)

getApplicationName

public final String getApplicationName()

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 final String getName()
Specified by:
getName in interface NamedEntity<String>

getOption

public final Option getOption(String key)

getOptions

public final Map<String,Option> getOptions()

getPersistenceName

public final 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

getSkipList

public Map<String,Integer> getSkipList()
Description copied from interface: Entity
returns a map with property names, that EntityManagers should ignore. These properties may be virtual properties, that not should be saved to persistence and/or methods that start with 'get' and that are not getters.

Implemention uses HashMaps for performance reasons, but the values are never used. So the map consists of propertynames as keys and an Integer as Value.

Every implementation should use the Map from parent class:

 public Map<String, Integer> getSkipList() {
     Map<String, Integer> skipList = super.getSkipList();
     skipList.put("a_virtual_field", 1);
     return skipList;
 }
 

Specified by:
getSkipList in interface Entity
Overrides:
getSkipList in class AbstractEntity
Returns:
a Map

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

setApplicationName

public final void setApplicationName(String appName)

setName

public final void setName(String name)
Specified by:
setName in interface NamedEntity<String>

setOption

public final void setOption(Option any)

setOption

public final void setOption(String key)

setOption

public final void setOption(String key,
                            String value)

setOptions

public final void setOptions(Map<String,Option> options)

toString

public String toString()
Overrides:
toString in class AbstractEntity

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.