edu.harvard.hul.ois.jhove
Class Property

java.lang.Object
  extended by edu.harvard.hul.ois.jhove.Property

public class Property
extends java.lang.Object

This class encapsulates arbitrary format-specific properties. A Property's value can be a simple object or a structure. If it is a simple object, it has arity SCALAR. If it is a structure, its must be a Map, a List, a Set, or an array, with corresponding Arity. The simple object (in the case of arity SCALAR) or the components of the structure must have a type corresponding to one of the enumerations given by PropertyType. The components of a Property may themselves be Property objects, allowing nested structures.

See Also:
PropertyType, PropertyArity

Constructor Summary
Property(java.lang.String name, PropertyType type, java.lang.Object value)
          Creates a Property with arity SCALAR.
Property(java.lang.String name, PropertyType type, PropertyArity arity, java.lang.Object value)
          Creates a Property with a given name, type, arity and value.
 
Method Summary
 PropertyArity getArity()
          Returns the arity (type of structure) of this Property.
 Property getByName(java.lang.String name)
          Return a property by its name, regardless of its position in the structural hierarchy of properties.
 java.lang.String getName()
          Returns the displayable name of this Property.
 PropertyType getType()
          Returns the type of this Property.
 java.lang.Object getValue()
          Returns the Object which is the Property's value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Property

public Property(java.lang.String name,
                PropertyType type,
                java.lang.Object value)
Creates a Property with arity SCALAR.

Parameters:
name - The displayable name of the property
type - The type of property
value - The value of the property. The type of the parameter must agree with type.

Property

public Property(java.lang.String name,
                PropertyType type,
                PropertyArity arity,
                java.lang.Object value)
Creates a Property with a given name, type, arity and value.

Parameters:
name - The displayable name of the property.
type - The type of property.
arity - The arity of the property.
value - The value of the property. If the arity is SCALAR, the type of this parameter must agree with type. Otherwise, the arity must agree with arity, and its components must agree with type.
Method Detail

getArity

public PropertyArity getArity()
Returns the arity (type of structure) of this Property.


getByName

public Property getByName(java.lang.String name)
Return a property by its name, regardless of its position in the structural hierarchy of properties.

Parameters:
name - Property name
Returns:
Named property (or null)

getName

public java.lang.String getName()
Returns the displayable name of this Property.


getType

public PropertyType getType()
Returns the type of this Property. If the arity is other than SCALAR, the type refers to the compononents of the Property structure.


getValue

public java.lang.Object getValue()
Returns the Object which is the Property's value.