/**
  * INTERNAL: Verify that getter returnType is an appropriate collection type for the indirection
  * policy. If it is incorrect, add an exception to the integrity checker. In this case, the type
  * MUST be a Vector (or, in the case of jdk1.2, Collection or Map).
  */
 public void validateGetMethodReturnTypeForCollection(Class returnType, IntegrityChecker checker)
     throws DescriptorException {
   super.validateGetMethodReturnTypeForCollection(returnType, checker);
   if (!this.collectionTypeIsValid(returnType)) {
     checker.handleError(DescriptorException.getMethodReturnTypeNotValid(getCollectionMapping()));
   }
 }
 /**
  * INTERNAL: Verify that setter parameterType is an appropriate collection type for the
  * indirection policy. If it is incorrect, add an exception to the integrity checker. In this
  * case, the type MUST be a Vector (or, in the case of jdk1.2, Collection or Map).
  */
 public void validateSetMethodParameterTypeForCollection(
     Class parameterType, IntegrityChecker checker) throws DescriptorException {
   super.validateSetMethodParameterTypeForCollection(parameterType, checker);
   if (!this.collectionTypeIsValid(parameterType)) {
     checker.handleError(
         DescriptorException.setMethodParameterTypeNotValid(getCollectionMapping()));
   }
 }
 /**
  * INTERNAL: Verify that setter parameterType is correct for the indirection policy. If it is
  * incorrect, add an exception to the integrity checker. In this case, the parameter type CANNOT
  * be ValueHolderInterface.
  */
 public void validateSetMethodParameterType(Class parameterType, IntegrityChecker checker)
     throws DescriptorException {
   super.validateSetMethodParameterType(parameterType, checker);
   if (!this.typeIsValid(parameterType)) {
     checker.handleError(
         DescriptorException.parameterAndMappingWithoutIndirectionMismatch(this.mapping));
   }
 }
 /**
  * INTERNAL: Verify that getter returnType is correct for the indirection policy. If it is
  * incorrect, add an exception to the integrity checker. In this case, the return type CANNOT be
  * ValueHolderInterface.
  */
 public void validateGetMethodReturnType(Class returnType, IntegrityChecker checker)
     throws DescriptorException {
   super.validateGetMethodReturnType(returnType, checker);
   if (!this.typeIsValid(returnType)) {
     checker.handleError(
         DescriptorException.returnAndMappingWithoutIndirectionMismatch(this.mapping));
   }
 }
 /**
  * INTERNAL: Verify that attributeType is correct for the indirection policy. If it is incorrect,
  * add an exception to the integrity checker. In this case, the attribute type CANNOT be
  * ValueHolderInterface.
  */
 public void validateDeclaredAttributeType(Class attributeType, IntegrityChecker checker)
     throws DescriptorException {
   super.validateDeclaredAttributeType(attributeType, checker);
   if (!this.typeIsValid(attributeType)) {
     checker.handleError(
         DescriptorException.attributeAndMappingWithoutIndirectionMismatch(this.mapping));
   }
 }
 /**
  * INTERNAL: Verify that attributeType is an appropriate collection type for the indirection
  * policy. If it is incorrect, add an exception to the integrity checker. In this case, the type
  * MUST be a Vector (or, in the case of jdk1.2, Collection or Map).
  */
 public void validateDeclaredAttributeTypeForCollection(
     Class attributeType, IntegrityChecker checker) throws DescriptorException {
   super.validateDeclaredAttributeTypeForCollection(attributeType, checker);
   if (!this.collectionTypeIsValid(attributeType)) {
     InterfaceContainerPolicy policy =
         (InterfaceContainerPolicy) getCollectionMapping().getContainerPolicy();
     checker.handleError(
         DescriptorException.attributeTypeNotValid(
             this.getCollectionMapping(), policy.getInterfaceType()));
   }
 }
 /**
  * INTERNAL Replace the client value holder with the server value holder, after copying some of
  * the settings from the client value holder.
  */
 public void mergeRemoteValueHolder(
     Object clientSideDomainObject,
     Object serverSideDomainObject,
     org.eclipse.persistence.internal.sessions.MergeManager mergeManager) {
   throw DescriptorException.invalidIndirectionPolicyOperation(this, "mergeRemoteValueHolder");
 }
 /** INTERNAL: Extract and return the appropriate value from the specified remote value holder. */
 public Object getValueFromRemoteValueHolder(RemoteValueHolder remoteValueHolder) {
   throw DescriptorException.invalidIndirectionPolicyOperation(
       this, "getValueFromRemoteValueHolder");
 }