© 2005 BEA Systems, Inc.

com.bea.p13n.property
Class AbstractPropertyDefinition

java.lang.Object
  extended bycom.bea.p13n.property.AbstractPropertyDefinition
All Implemented Interfaces:
PropertyDefinition, Serializable
Direct Known Subclasses:
PropertyDefinitionImpl

public abstract class AbstractPropertyDefinition
extends Object
implements PropertyDefinition, Serializable

Default implementation of a PropertyDefinition.

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.bea.p13n.property.PropertyDefinition
BOOLEAN, DATETIME, FLOAT, INTEGER, TEXT, USER_DEFINED
 
Constructor Summary
AbstractPropertyDefinition()
          Default constructor
AbstractPropertyDefinition(String descriptionArg, int typeArg, boolean multiValuedArg, boolean restrictedArg, Collection restrictedValuesArg, Object defaultValueArg)
          Constructor to initialize attributes
 
Method Summary
 int compareTo(Object o)
          Implementation of Object.compareTo(); returns 0 if the two objects are equal; attempts to determine an ordering otherwise and returns -1 if this object is less than the comparison object, and 1 if this object is greater than the comparison object.
protected  int determinePropertyType(Object value)
          Determines if the data type of the property value is a known property type.
 boolean equals(Object o)
          Equality operator.
 Object getDefaultValue()
          Get the default value for this property.
 String getDescription()
          Get the description of this property
 Collection getRestrictedValues()
          Get the allowable values, if this property is restricted.
 int getType()
          Get the datatype of the property
 int hashCode()
          Computes a hashcode for this object based on its attributes
 boolean isMultiValued()
          Can this property support multiple values?
 boolean isRestricted()
          Is this property restricted to a certain list of values?
 void setDefaultValue(Object o)
          Set the default value for this property.
 void setDescription(String s)
          Set the description of this property
 void setMultiValued(boolean b)
          Set if this property support multiple values?
 void setRestricted(boolean b)
          Set if this property restricted to a certain list of values?
 void setRestrictedValues(Collection c)
          Set the allowable values, if this property is restricted
 void setType(int i)
          Set the datatype of the property
 String toString()
          Basic toString method
 void validate(Object value)
          Validates the given value against the property definition.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractPropertyDefinition

public AbstractPropertyDefinition()
Default constructor


AbstractPropertyDefinition

public AbstractPropertyDefinition(String descriptionArg,
                                  int typeArg,
                                  boolean multiValuedArg,
                                  boolean restrictedArg,
                                  Collection restrictedValuesArg,
                                  Object defaultValueArg)
Constructor to initialize attributes

Method Detail

compareTo

public int compareTo(Object o)
Implementation of Object.compareTo(); returns 0 if the two objects are equal; attempts to determine an ordering otherwise and returns -1 if this object is less than the comparison object, and 1 if this object is greater than the comparison object. Because Property Definitions do not have an inherent order, any non-zero value is somewhat arbitrary.


determinePropertyType

protected int determinePropertyType(Object value)
Determines if the data type of the property value is a known property type. Defaults to USER_DEFINED if the type of the value cannot be determined.

Parameters:
value -
Returns:
int which is one of the datatype constants defined in the PropertyDefinition interface

equals

public boolean equals(Object o)
Equality operator.

Returns:
true if the compareTomethod would return 0 for this target

getDefaultValue

public Object getDefaultValue()
Get the default value for this property. If it is multivalued, this might be a collection of values. Note: this returns a clone of the default value; if it is a collection, and the property values are mutable objects, care must be taken not to modify them.

Specified by:
getDefaultValue in interface PropertyDefinition
Returns:
the default value, or null if there is none

getDescription

public String getDescription()
Get the description of this property

Specified by:
getDescription in interface PropertyDefinition

getRestrictedValues

public Collection getRestrictedValues()
Get the allowable values, if this property is restricted. Note: this does a shallow clone to prevent the collection from being modified, but if any property values are mutable, care must be taken not to modify them.

Specified by:
getRestrictedValues in interface PropertyDefinition
Returns:
a Collection of allowable values, or null if there are none

getType

public int getType()
Get the datatype of the property

Specified by:
getType in interface PropertyDefinition

hashCode

public int hashCode()
Computes a hashcode for this object based on its attributes

Returns:
the calculated hashcode

isMultiValued

public boolean isMultiValued()
Can this property support multiple values?

Specified by:
isMultiValued in interface PropertyDefinition

isRestricted

public boolean isRestricted()
Is this property restricted to a certain list of values?

Specified by:
isRestricted in interface PropertyDefinition

setDefaultValue

public void setDefaultValue(Object o)
Set the default value for this property.


setDescription

public void setDescription(String s)
Set the description of this property


setMultiValued

public void setMultiValued(boolean b)
Set if this property support multiple values?


setRestricted

public void setRestricted(boolean b)
Set if this property restricted to a certain list of values?


setRestrictedValues

public void setRestrictedValues(Collection c)
Set the allowable values, if this property is restricted


setType

public void setType(int i)
Set the datatype of the property


toString

public String toString()
Basic toString method

Returns:
a displayable String representing this property definition

validate

public void validate(Object value)
              throws PropertyValidationException
Validates the given value against the property definition. Compares datatypes, and checks against allowable values.

Specified by:
validate in interface PropertyDefinition
Throws:
PropertyValidationException - if the value is not valid

© 2005 BEA Systems, Inc.

Copyright © 2005 BEA Systems, Inc. All Rights Reserved