&Functions; de SDOServicios de Acceso a Datos
La tabla de abajo enumera los Servicios de Acceso a Datos (DAS) de SDO proporcionados actualmente:
Nombre del DASDescripción
SDO_DAS_XML
Un Servicio de Acceso a Datos XML que admite la lectura/escritura
de SDOs como documentos XML.
SDO_DAS_Relational
Un Servicio de Acceso a Datos basado en PDO que admite la lectura/escritura de SDOs
de bases de datos relacionales.
Implementa una política de concurrencia optimista para actualizaciones.
&reftitle.classes;
SDO consiste en tres conjuntos de interfaces. El primer conjunto cubre aquellas
interfaces usadas por las aplicaciones SDO típicas. Están identificadas
por el prefijo de paquete 'SDO_'. El segundo conjunto son aquellas usadas para reflejar,
y trabajar con, el modelo de un objeto de datos. Están identificadas
por el prefijo de paquete 'SDO_Model_'. Finalmente, el tercer conunto son aquellas
usadas por las implementaciones de Servicio de Acceso a Datos y están identificadas por el
prefijo de paquete 'SDO_DAS_'. La mayoría de los usuarios de SDO no necesitarán
usar o comprender las interfaces 'SDO_Model_' y 'SDO_DAS_'.
Interfaz del Programador de Aplicaciones SDOSDO_DataObject
Es la interfaz principal a través de la cual se manipulan los objetos de datos.
Además de los métodos de abajo, SDO_DataObject amplía las interfaces
ArrayAccess, SDO_PropertyAccess (define los métodos __get() /
__set() para la sobrecarga de acceso a propiedades),
Iterator, y Countable.
&reftitle.methods;
getSequence
- obtener la secuencia para el objeto de datos
createDataObject
- crear un objeto de datos hijo
clear
- desestablecer las propiedades de un objeto de datos
getContainer
- obtener el contenedor (también conocido como 'padre') de este objeto de datos
getTypeName
- obtener el nombre del tipo de este objeto de datos
getTypeNamespaceURI
- obtener el URI del espacio de nombres del tipo de este objeto de datos
SDO_Sequence
Es la interfaz a través de la cual se puede acceder a los objetos de datos
para mantener el orden de las propiedades de los objetos de datos y
permitir texto no estructurado.
SDO_Sequence mantiene los índices contiguos y, por consiguiente, al insertar
o eliminar elementos, puede mover otros elementos hacia arriba o hacia
abajo. Además de los métodos de abajo, SDO_Sequence amplía las interfaces
ArrayAccess, Iterator y Countable.
&reftitle.methods;
getProperty
- obtener la propiedad de un índice de secuencia dado
move
- mover un elemento desde un índice de propiedad a otro
insert
- insertar un nuevo valor en la secuencia
SDO_List
Es la interfaz a través de la cual se manipulan las propiedades polievaluadas.
Además de los métodos definidos abajo, SDO_List amplía ArrayAccess,
Iterator y Countable. SDO_List mantiene los índices contiguos y,
por consiguiente, al insertar o eliminar elementos, puede mover otros elementos
hacia arriba o hacia abajo.
&reftitle.methods;
insert
- insertar un nuevo valor en la lista
SDO_DataFactory
Es la interfaz a través de la cual se pueden crear objetos de datos.
Un Servicio de Acceso a Datos es el responsable de rellenar el modelo
(esto es, configurar la fábrica de datos con la información de tipo y
estructura de los objetos de datos que puede crear)
para la fábrica y puede opcionalmente devolver una instancia de,
o implementar, la interfaz SDO_DataFactory.
&reftitle.methods;
create
- crear un nuevo objeto de datos
SDO_Exception
Una SDO_Exception es lanzada cuando no se puede completar la solicitud del llamador.
Las subclases de SDO_Exception son:
SDO_PropertyNotSetException -
la propiedad especificada existe pero no ha sido establecida o no tiene un
valor predeterminado.
SDO_PropertyNotFoundException -
la propiedad especificada no es parte del tipo de objeto de datos
SDO_TypeNotFoundException -
el URI del espacio de nombres o el nombre del tipo es desconocido
SDO_InvalidConversionException -
la conversión entre los tipos de la asignación no es posible
SDO_IndexOutOfBoundsException -
el índice numérico de un objeto de datos, la secuencia o la lista no están en el
rango válido
SDO_UnsupportedOperationException -
la petición no puede ser completada debido a que no está permitida,
por ejemplo, un intento de establecer una propiedad de sólo lectura.
&reftitle.methods;
Se añade un método a aquellas clases que heredan de la clase interna
Exception:
getCause
- obtener la causa de esta SDO_Exception
Interfaces del Programador de Aplicaciones de Reflexión de SDOSDO_Model_ReflectionDataObject
Es la interfaz principal usada para reflejar una instancia de un objeto de datos
para obtener la informaición de su tipo de modelo y propiedades.
Está diseñada para seguir el patrón de reflexión introducido en PHP 5.
&reftitle.constructor;
__construct
- construir un nuevo SDO_Model_ReflectionDataObject.
&reftitle.methods;
export
- obtener un string que describe el objeto de datos.
getType
- obtener el SDO_Model_Type del objeto de datos.
getInstanceProperties
- obtener las propiedades de la instancia del objeto de datos.
getContainmentProperty
- obtener la propiedad que define la relación de contención del objeto de datos.
SDO_Model_Type
Es la interfaz a través de al cual se puede recuperar la información del tipo de un objeto de
datos. Esta interfaz se puede usar para averiguar el nombre del tipo y
el URI del espacio de nombres del tipo, si el tipo permite contenido abierto,
etc.
&reftitle.methods;
getName
- obtener el nombre del tipo.
getNamespaceURI
- obtener el URI del espacio de nombres del tipo.
isInstance
- comprobar que un objeto de datos es una instancia del tipo.
getProperties
- obtener las propiedades del tipo.
getProperty
- obtener una propiedad del tipo.
isDataType
- comprobar si este tipo es un tipo escalar primitivo.
isSequencedType
- comprobar si éste es un tipo secuenciado.
isOpenType
- comprobar si éste es un tipo abierto.
isAbstractType
- comprobar si éste es un tipo abstracto.
getBaseType
- obtener el tipo base de este tipo (si existe uno).
SDO_Model_Property
Es la interfaz a través de la cual se puede recuperar la información de las propiedades de
un objeto de datos. Esta interfaz se puede usar para averiguar el tipo de una
propiedad, si una propiedad tiene un valor predeterminado, si la
propiedad está contenida o hace referencia a su padre, su cardinalidad,
etc.
&reftitle.methods;
getName
- obtener el nombre de la propiedad.
getType
- obtener el tipo de la propiedad.
isMany
- comprobar si la propiedad es polievaluada.
isContainment
- comprobar si la propiedad describe una relación de contención.
getContainingType
- obtener el tipo que contiene esta propiedad.
getDefault
- obtener el valor predeterminado de una propiedad.
Interfaces del Desarrollador de Servicios de Acceso a Datos de SDO
SDO_DAS_DataObject
Es la interfaz a través de la cual un Servicio de Acceso a Datos puede acceder
al SDO_DAS_ChangeSummary
de un objeto de datos.
El resumen de cambios es usado por el Servicio de Acceso a Datos para comprobar si hay
conflictos al aplicar los cambios a una fuente de datos.
&reftitle.methods;
getChangeSummary
- obtener el resumen de cambios de un objeto de datos
SDO_DAS_ChangeSummary
Es la interfaz a través de la cual se accede al historial de cambios de un
objeto de datos. El resumen de cambios contiene información de cualquier
modificación hecha a un objeto de datos que suceda desde que la identificación
fue activada. En el caso de eliminaciones y modificaciones, los valores
antiguos también están contenidos en el resumen de cambios.
Si la identificación ya no está activa,
el resumen de cambios sólo contendrá los cambios hechos hasta el punto donde
la identificación fue desactivada.
La reactivación de la identificación limpia el resumen de cambios.
Esto es útil cuado un conjunto de cambios ha sido escrito por un
DAS y el objeto de datos va a ser reusado.
&reftitle.methods;
beginLogging
- comenzar a registrar los cambios hechos en un objeto de datos
endLogging
- finalizar de registrar los cambios hechos en un objeto de datos
isLogging
- comprobar si el registro de cambios está activad
getChangedDataObjects
- obtener una lista de los objetos de datos que han sido cambiados
getChangeType
- obtener el tipo de cambio hecho a un objeto de datos
getOldValues
- obtener una lista de los valores antiguos de un objeto de datos
getOldContainer
- obtener el objeto de datos contenedor antiguo de un objeto de datos eliminado
SDO_DAS_Setting
Es la interfaz a través de la cual se accede al valor antiguo de una
propiedad. El método de resumen de cambios getOldValues
devuelve una lista.
&reftitle.methods;
getPropertyIndex
- obtener el índice de la propiedad cambiada
getPropertyName
- obtener el nombre de la propiedad cambiada
getValue
- obtener el valor antiguo de la propiedad cambiada
getListIndex
- obtener el índice de la lista del valor antiguo si era parte de una
propiedad polievaluada.
isSet
- comprobar si la propiedad estaba establecida antes de ser modificada
SDO_DAS_DataFactory
Es la interfaz para contruir el modelo de un SDO_DataObject.
SDO_DAS_DataFactory es una clase abstracta que proporciona un método
estático que devuelve una implementación de fábrica de datos concreta.
La implementación es usada por los Servicios de Acceso a Datos para crear un
modelo SDO a partir de su modelo.
Por ejemplo, un Servicio de Acceso a Datos Relacionales podría crear y rellenar
un modelo SDO_DAS_DataFactory basado en un esquema de una base de datos
relacional.
&reftitle.methods;
getDataFactory
- método estático para obtener una instancia de una fábrica de datos concreta
addType
- añadir un nuevo tipo al modelo SDO
addPropertyToType
- añadir una nueva propiedad a una definición de tipo en el modelo SDO
&reference.sdo.entities.sdo-das-changesummary;
&reference.sdo.entities.sdo-das-datafactory;
&reference.sdo.entities.sdo-das-dataobject;
&reference.sdo.entities.sdo-das-setting;
&reference.sdo.entities.sdo-datafactory;
&reference.sdo.entities.sdo-dataobject;
&reference.sdo.entities.sdo-exception;
&reference.sdo.entities.sdo-list;
&reference.sdo.entities.sdo-model-property;
&reference.sdo.entities.sdo-model-reflectiondataobject;
&reference.sdo.entities.sdo-model-type;
&reference.sdo.entities.sdo-sequence;