Class MultiValueColumnPropertyMap
- java.lang.Object
-
- com.healthmarketscience.jackcess.impl.complex.MultiValueColumnPropertyMap
-
- All Implemented Interfaces:
PropertyMap,Iterable<PropertyMap.Property>
public class MultiValueColumnPropertyMap extends Object implements PropertyMap
PropertyMap implementation for multi-value, complex properties. The properties for these columns seem to be dispersed between both the primary column and the complex value column. The primary column only seems to have the simple "multi-value" property and the rest seem to be on the complex value column. This PropertyMap implementation combines them into one synthetic map.- Author:
- James Ahlborn
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.healthmarketscience.jackcess.PropertyMap
PropertyMap.DisplayControl, PropertyMap.EnumValue, PropertyMap.IMEMode, PropertyMap.IMESentenceMode, PropertyMap.Property, PropertyMap.TextFormat
-
-
Field Summary
-
Fields inherited from interface com.healthmarketscience.jackcess.PropertyMap
ACCESS_VERSION_PROP, ALLOW_MULTI_VALUE_PROP, ALLOW_ZERO_LEN_PROP, AUTHOR_PROP, CAPTION_PROP, COMPANY_PROP, DECIMAL_PLACES_PROP, DEFAULT_VALUE_PROP, DESCRIPTION_PROP, DISPLAY_CONTROL_PROP, EXPRESSION_PROP, FORMAT_PROP, GUID_PROP, IME_MODE_PROP, IME_SENTENCE_MODE_PROP, INPUT_MASK_PROP, REQUIRED_PROP, RESULT_TYPE_PROP, ROW_SOURCE_PROP, ROW_SOURCE_TYPE_PROP, TEXT_FORMAT_PROP, TITLE_PROP, VALIDATION_RULE_PROP, VALIDATION_TEXT_PROP
-
-
Constructor Summary
Constructors Constructor Description MultiValueColumnPropertyMap(PropertyMap primary, PropertyMap complex)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PropertyMap.Propertyget(String name)StringgetName()intgetSize()ObjectgetValue(String name)ObjectgetValue(String name, Object defaultValue)booleanisEmpty()Iterator<PropertyMap.Property>iterator()PropertyMap.Propertyput(String name, DataType type, Object value)Creates a new (or updates an existing) property in the map.PropertyMap.Propertyput(String name, DataType type, Object value, boolean isDdl)Creates a new (or updates an existing) property in the map.PropertyMap.Propertyput(String name, Object value)Creates a new (or updates an existing) property in the map.voidputAll(Iterable<? extends PropertyMap.Property> props)Puts all the given properties into this map.PropertyMap.Propertyremove(String name)Removes the property with the given namevoidsave()Saves the current state of this map.StringtoString()-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface com.healthmarketscience.jackcess.PropertyMap
stream
-
-
-
-
Constructor Detail
-
MultiValueColumnPropertyMap
public MultiValueColumnPropertyMap(PropertyMap primary, PropertyMap complex)
-
-
Method Detail
-
getName
public String getName()
- Specified by:
getNamein interfacePropertyMap
-
getSize
public int getSize()
- Specified by:
getSizein interfacePropertyMap
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacePropertyMap
-
get
public PropertyMap.Property get(String name)
- Specified by:
getin interfacePropertyMap- Returns:
- the property with the given name, if any
-
getValue
public Object getValue(String name)
- Specified by:
getValuein interfacePropertyMap- Returns:
- the value of the property with the given name, if any
-
getValue
public Object getValue(String name, Object defaultValue)
- Specified by:
getValuein interfacePropertyMap- Returns:
- the value of the property with the given name, if any, otherwise the given defaultValue
-
put
public PropertyMap.Property put(String name, Object value)
Description copied from interface:PropertyMapCreates a new (or updates an existing) property in the map. Attempts to determine the type of the property based on the name and value (the property names listed above have their types builtin, otherwise the type of the value is used).Note, this change will not be persisted until the
PropertyMap.save()method has been called.- Specified by:
putin interfacePropertyMap- Returns:
- the newly created (or updated) property
-
put
public PropertyMap.Property put(String name, DataType type, Object value)
Description copied from interface:PropertyMapCreates a new (or updates an existing) property in the map.Note, this change will not be persisted until the
PropertyMap.save()method has been called.- Specified by:
putin interfacePropertyMap- Returns:
- the newly created (or updated) property
-
put
public PropertyMap.Property put(String name, DataType type, Object value, boolean isDdl)
Description copied from interface:PropertyMapCreates a new (or updates an existing) property in the map.Note, this change will not be persisted until the
PropertyMap.save()method has been called.- Specified by:
putin interfacePropertyMap- Returns:
- the newly created (or updated) property
-
putAll
public void putAll(Iterable<? extends PropertyMap.Property> props)
Description copied from interface:PropertyMapPuts all the given properties into this map.- Specified by:
putAllin interfacePropertyMap- Parameters:
props- the properties to put into this map (nullis tolerated and ignored).
-
remove
public PropertyMap.Property remove(String name)
Description copied from interface:PropertyMapRemoves the property with the given name- Specified by:
removein interfacePropertyMap- Returns:
- the removed property, or
nullif none found
-
save
public void save() throws IOExceptionDescription copied from interface:PropertyMapSaves the current state of this map.- Specified by:
savein interfacePropertyMap- Throws:
IOException
-
iterator
public Iterator<PropertyMap.Property> iterator()
- Specified by:
iteratorin interfaceIterable<PropertyMap.Property>
-
-