com.healthmarketscience.jackcess.impl.complex
Class MultiValueColumnPropertyMap

java.lang.Object
  extended by 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.Property
 
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, EXPRESSION_PROP, FORMAT_PROP, GUID_PROP, INPUT_MASK_PROP, REQUIRED_PROP, RESULT_TYPE_PROP, ROW_SOURCE_PROP, ROW_SOURCE_TYPE_PROP, TITLE_PROP, VALIDATION_RULE_PROP, VALIDATION_TEXT_PROP
 
Constructor Summary
MultiValueColumnPropertyMap(PropertyMap primary, PropertyMap complex)
           
 
Method Summary
 PropertyMap.Property get(String name)
           
 String getName()
           
 int getSize()
           
 Object getValue(String name)
           
 Object getValue(String name, Object defaultValue)
           
 boolean isEmpty()
           
 Iterator<PropertyMap.Property> iterator()
           
 PropertyMap.Property put(String name, DataType type, Object value)
          Creates a new (or updates an existing) property in the map.
 PropertyMap.Property put(String name, Object value)
          Creates a new (or updates an existing) property in the map.
 void putAll(Iterable<? extends PropertyMap.Property> props)
          Puts all the given properties into this map.
 PropertyMap.Property remove(String name)
          Removes the property with the given name
 void save()
          Saves the current state of this map.
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MultiValueColumnPropertyMap

public MultiValueColumnPropertyMap(PropertyMap primary,
                                   PropertyMap complex)
Method Detail

getName

public String getName()
Specified by:
getName in interface PropertyMap

getSize

public int getSize()
Specified by:
getSize in interface PropertyMap

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface PropertyMap

get

public PropertyMap.Property get(String name)
Specified by:
get in interface PropertyMap
Returns:
the property with the given name, if any

getValue

public Object getValue(String name)
Specified by:
getValue in interface PropertyMap
Returns:
the value of the property with the given name, if any

getValue

public Object getValue(String name,
                       Object defaultValue)
Specified by:
getValue in interface PropertyMap
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: PropertyMap
Creates 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:
put in interface PropertyMap
Returns:
the newly created (or updated) property

put

public PropertyMap.Property put(String name,
                                DataType type,
                                Object value)
Description copied from interface: PropertyMap
Creates 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:
put in interface PropertyMap
Returns:
the newly created (or updated) property

putAll

public void putAll(Iterable<? extends PropertyMap.Property> props)
Description copied from interface: PropertyMap
Puts all the given properties into this map.

Specified by:
putAll in interface PropertyMap
Parameters:
props - the properties to put into this map (null is tolerated and ignored).

remove

public PropertyMap.Property remove(String name)
Description copied from interface: PropertyMap
Removes the property with the given name

Specified by:
remove in interface PropertyMap
Returns:
the removed property, or null if none found

save

public void save()
          throws IOException
Description copied from interface: PropertyMap
Saves the current state of this map.

Specified by:
save in interface PropertyMap
Throws:
IOException

iterator

public Iterator<PropertyMap.Property> iterator()
Specified by:
iterator in interface Iterable<PropertyMap.Property>

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2005–2017 Health Market Science. All rights reserved.