Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ejie.r01f.sql
Class CLOBInvocationHandler

    java.lang.Object
      com.ejie.r01f.sql.CLOBInvocationHandler

All Implemented Interfaces:
  java.lang.reflect.InvocationHandler

public class CLOBInvocationHandler
extends java.lang.Object
implements java.lang.reflect.InvocationHandler

ProxyHandler de un Dynamic Proxy que se encarga de abstraer al programador de la implementacion concreta de LOBS: ORACLE o Weblogic. La configuracion a utilizar se establece en el fichero r01f.properties.xml true <--- Utilizar LOBS de weblogic Normalmente, se utiliza un DynamicProxy para EVITAR LAS DEPENDENCIAS EN TIEMPO DE COMPILACION entre el cliente y la clase: El esquema es: Cliente --> Proxy(implementa LOB) --> LOB Concreto Dado que todas las llamadas al LOB se hacen a través del Proxy, en el Proxy se transforman las llamadas al LOB en llamadas a la implementación concreta de forma transparente y evitando dependencias en tiempo de compilacion entre el cliente y clase

Constructor Summary
`CLOBInvocationHandler()` Constructor vacio
`CLOBInvocationHandler(java.sql.Clob clob)` Constructor en base a una instancia del Clob.

Method Summary
`java.lang.Object` | `invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)` Realiza la invocación del método del LOB llamado en el objeto sobre el que se está haciendo proxy (la implementación concreta ORACLE o WEBLOGIC) Cliente ---> [Proxy (presenta el interfaz del LOB] ---> Implementacion Concreta El cliente piensa que trata con el LOB "genuinio", pero en realidad está invocando al Proxy que a través del método invoke, llama al método correspondiente en la implementación cargada

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CLOBInvocationHandler

    public CLOBInvocationHandler()

  Constructor vacio

### CLOBInvocationHandler

    public CLOBInvocationHandler(java.sql.Clob clob)

  Constructor en base a una instancia del Clob. Aqui es donde esta toda la magia: en funcion si se esta accediendo al clob a través de Oracle o Weblogic, se hace un casting

Parameters:
  `clob` -

Method Detail

### invoke

    public java.lang.Object invoke(java.lang.Object proxy,
                                   java.lang.reflect.Method method,
                                   java.lang.Object[] args)
                            throws java.lang.Throwable

  Realiza la invocación del método del LOB llamado en el objeto sobre el que se está haciendo proxy (la implementación concreta ORACLE o WEBLOGIC) Cliente ---> [Proxy (presenta el interfaz del LOB] ---> Implementacion Concreta El cliente piensa que trata con el LOB "genuinio", pero en realidad está invocando al Proxy que a través del método invoke, llama al método correspondiente en la implementación cargada

  Specified by:
    `invoke` in interface `java.lang.reflect.InvocationHandler`
  Throws:
    `java.lang.Throwable`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD