Class MPropertyContainer

java.lang.Object
chemaxon.struc.MPropertyContainer
All Implemented Interfaces:
Externalizable, Serializable, Cloneable

@PublicApi public class MPropertyContainer extends Object implements Cloneable, Externalizable
Property container.
Since:
Marvin 4.1, 11/20/2005
See Also:
  • Constructor Details

    • MPropertyContainer

      public MPropertyContainer()
      Creates an empty property container.
  • Method Details

    • clear

      public void clear()
      Clears properties.
    • size

      public int size()
      Gets the total number of properties.
      Returns:
      number of properties
    • getKeys

      public String[] getKeys()
      Returns the property keys.
      Returns:
      the array of keys
    • getKey

      public String getKey(int i)
      Gets a property key.
      Parameters:
      i - property index
      Returns:
      the property name
    • getString

      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets a property.
      Parameters:
      key - property name
      Returns:
      the value of the property, or null if the key is not found
    • get

      public MProp get(String key)
      Gets a property object.
      Parameters:
      key - property name
      Returns:
      the value of the property, or null if the key is not found
    • setString

      public void setString(String key, String value)
      Sets a property. Setting null value removes the property.
      Parameters:
      key - the property name
      value - the value or null
    • set

      public void set(String key, MProp value)
      Sets a property object. Setting null value removes the property.
      Parameters:
      key - the property name
      value - the value or null
    • set

      public void set(String key, MProp value, int opts)
      Sets a property object. Setting null value removes the property.
      Parameters:
      key - the property name
      value - the value or null
      opts - 0 or MProp.COORDDEP
    • remove

      public void remove(MProp p)
      Removes a property.
      Parameters:
      p - the object
      Since:
      Marvin 4.1.6, 02/21/2007
    • replace

      public void replace(MProp oldp, MProp newp)
      Replaces or removes a property.
      Parameters:
      oldp - the old object
      newp - the new object or null to remove
      Since:
      Marvin 4.1.6, 02/14/2007
    • contains

      public boolean contains(MProp p)
      Tests whether the container contains the specified property object.
      Parameters:
      p - the object
      Since:
      Marvin 4.1.6, 02/21/2007
    • isValid

      public boolean isValid(MProp prop)
      Tests whether a coordinate dependent property is still valid.
      Parameters:
      prop - the property
      Returns:
      true if the property is valid, false otherwise
      See Also:
    • isSelfReference

      public boolean isSelfReference(MProp p)
      Tests whether a property is a self reference to the containing molecule.
      Parameters:
      p - the property
      Returns:
      true if the property is a self reference, false otherwise
      Since:
      Marvin 5.0, 11/05/2007
    • isHierarchic

      public boolean isHierarchic()
      Tests whether the property list contains subcollections like MListProp and MHashProp. A property list containing names in MDL RDfile style can be made hierarchic by calling hierarchize().
      Returns:
      true if the property list contains subcollections, false otherwise
      Since:
      Marvin 4.1.6, 02/15/2007
    • hierarchize

      public String hierarchize()
      Converts hierarchically specified RDF properties to MListProp and MHashProp objects.
      Returns:
      the most likely "root" name (the name of the first MHashProp type property) or null
      Since:
      Marvin 4.1.6, 02/14/2007
      See Also:
    • flatten

      public void flatten()
      Flattens hierarchically specified RDF properties. The inverse operation of hierarchize().
      Since:
      Marvin 4.1.6, 02/14/2007
      See Also:
    • getPropList

      public List<MProp> getPropList()
      Gets the list of basic properties. Properties containers like MListProp and MHashProp are not added to the list but searched recursively for their basic elements.
      Returns:
      the list of MProp objects
      Since:
      Marvin 4.1.6, 02/15/2007
    • getObject

      public Object getObject(String key)
      Gets a property object.
      Parameters:
      key - property name
      Returns:
      the value of the property, or null if the key is not found
    • setObject

      public void setObject(String key, Object val)
      Sets a property object. Setting null value removes the property.
      Parameters:
      key - the property name
      val - the value or null
    • clone

      public Object clone()
      Clones this object.
      Overrides:
      clone in class Object
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Restores the property container's state.
      Specified by:
      readExternal in interface Externalizable
      Parameters:
      in - the stream to read data from in order to restore the object
      Throws:
      IOException - if I/O errors occur
      ClassNotFoundException - If the class for an object being restored cannot be found.
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Saves the property container's state.
      Specified by:
      writeExternal in interface Externalizable
      Parameters:
      out - the stream to write the object to
      Throws:
      IOException - Includes any I/O exceptions that may occur