com.vbs.spring.versioning
Annotation Type VersionDependentClass


@Retention(value=RUNTIME)
@Target(value=TYPE)
public @interface VersionDependentClass

Indicates that the annotated class is a version dependent implementation of a versioned class VersionedClass. This annotation is mutually exclusive with the VersionedClass annotation.

Author:
Mike Whitfield (mike@virtual-businesses.com)

Required Element Summary
 java.lang.String[] value
          The version or versions that the dependent class is used for.
 
Optional Element Summary
 boolean fullyImplemented
          Indicates whether the dependent class must implement all the methods on the versioned class to which it applies.
 

Element Detail

value

public abstract java.lang.String[] value
The version or versions that the dependent class is used for.

Returns:
the version or versions that the dependent class is used for.

fullyImplemented

public abstract boolean fullyImplemented
Indicates whether the dependent class must implement all the methods on the versioned class to which it applies. If true and a non-static, non-private method is not found in the dependent class an UnsupportedOperationException will be thrown when the bean is loaded into the application context. If false and the intercepted method is not found on the dependent class, the method on the versioned class is called.

Returns:
false if the dependent class may not implement all the declared methods on the versioned class.
Default:
true