org.apache.openjpa.conf
Class SpecificationPlugin

java.lang.Object
  extended by org.apache.openjpa.lib.conf.Value
      extended by org.apache.openjpa.lib.conf.ObjectValue
          extended by org.apache.openjpa.conf.SpecificationPlugin
All Implemented Interfaces:
Cloneable, ValueListener

public class SpecificationPlugin
extends ObjectValue
implements ValueListener

A plug-in for Specification that enforces certain overwriting rules.

Author:
Pinaki Poddar

Field Summary
protected static Localizer _loc
           
 
Fields inherited from class org.apache.openjpa.lib.conf.Value
INVISIBLE
 
Constructor Summary
SpecificationPlugin(Configuration conf, String prop)
           
 
Method Summary
 Class<?> getValueType()
          Returns the type of the property that this Value represents.
 void set(Object obj)
          Set a value from the given object after validating.
 void setString(String str)
          Set a value from the given String after validating.
protected  void validateOverwrite(Specification newSpec)
          Validates if the given Specification can overwrite the current Specification.
 void valueChanged(Value value)
          Callback used by Value objects to notify listener of change.
 
Methods inherited from class org.apache.openjpa.lib.conf.ObjectValue
configure, configure, get, getInternalString, instantiate, instantiate, newInstance, objectChanged, set, setInternalObject, setInternalString
 
Methods inherited from class org.apache.openjpa.lib.conf.Value
addEquivalentKey, addListener, alias, alias, assertChangeable, clone, equals, getAliases, getDefault, getEquivalentKeys, getInstantiatingGetter, getListeners, getLoadKey, getOriginalValue, getProperty, getPropertyKeys, getScope, getString, hashCode, hide, isAliasListComprehensive, isDynamic, isHidden, isPrivate, makePrivate, matches, removeListener, setAlias, setAlias, setAliases, setAliasListComprehensive, setDefault, setDynamic, setInstantiatingGetter, setLoadKey, setObject, setProperty, setScope, toString, unalias, unalias, valueChanged
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

_loc

protected static final Localizer _loc
Constructor Detail

SpecificationPlugin

public SpecificationPlugin(Configuration conf,
                           String prop)
Method Detail

getValueType

public Class<?> getValueType()
Description copied from class: Value
Returns the type of the property that this Value represents.

Overrides:
getValueType in class ObjectValue

setString

public void setString(String str)
Set a value from the given String after validating.

Overrides:
setString in class Value
Parameters:
str - can be null to set the Specification to null. If non-null, then the String must be in Specification format
See Also:
Specification#create(String)

set

public void set(Object obj)
Set a value from the given object after validating.

Overrides:
set in class ObjectValue
Parameters:
obj - can be null to set the Specification to null.

validateOverwrite

protected void validateOverwrite(Specification newSpec)
Validates if the given Specification can overwrite the current Specification. If the given Specification is not same as the current one, then it is valid to overwrite. If the given Specification is same as the current Specification then it must have a major version number equal or less than the current one.

Throws:
fatal - UserException if the given Specification is same as the current Specification but has a higher major version.
See Also:
Specification.equals(Object)

valueChanged

public void valueChanged(Value value)
Description copied from interface: ValueListener
Callback used by Value objects to notify listener of change.

Specified by:
valueChanged in interface ValueListener


Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.