Opened 14 years ago
Closed 14 years ago
#385 closed enhancement (fixed)
Metodos exists para objetos del repositorio
Reported by: | irobles | Owned by: | Pedro Gea |
---|---|---|---|
Priority: | major | Milestone: | Release 0.6 |
Component: | Persistence | Keywords: | |
Cc: |
Description
Buenos días,
seria comodo tener metodos exists para objetos del repositorio para saber si ya estan cargados previamente o no.
Por ejemplo, igual que existen los metodos LoadDataSet o LoadModel, realizar los metodos DataSetExists, o ModelExists.
Extenderlo a todos los objetos, estimaciones, previsiones...
Change History (5)
comment:1 Changed 14 years ago by
comment:2 Changed 14 years ago by
Component: | General → Persistence |
---|---|
Type: | defect → enhancement |
Este tique está relacionado con #424. Podrían tratarse conjuntamente.
comment:3 Changed 14 years ago by
El método que se propone como [Object]Exist
está ya implementado como Find[Object]
. Devuelve un valor real que corresponde a la posición o índice en la lista o catálogo de objetos de su tipo. Devuelve 0 si no lo encuentra.
De acuerdo a la implementación de este tipo de métodos no se produce un error si no se encuentra, aunque este método sí muestra una advertencia (warning) si se encuentra más de un objeto, de modo similar a como se ha propuesto.
comment:4 Changed 14 years ago by
Si se desea saber si un objeto está cargado existen métodos Find[Object]
pero del contenedor principal.
De modo que la llamada no sería:
Real isLoaded = <repository>::Is[Object]Loaded(...);
sino:
Real isLoaded = MMS::Container::Find[Object](...);
No hace falta si quiera la existencia de un repositorio de MMS para comprobar si un objeto está cargado.
Por ejemplo si se quieren encontrar los modelos de un repositorio que ya están cargados podríamos hacer:
Set Select(<repository>::GetModelsList(?), Real (Set modelInfo) { MMS::Container::FindModel(modelInfo) })
comment:5 Changed 14 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Creo que podrían existir dos métodos: uno para determinar si existe el objeto en el repositorio (Exist) y otro para comprobar si está cargado (Loaded).
Sigue una función para el Exist del objeto Model:
Real ModelExist(NameBlock repo, Text model, Text version)
{
};