Classe que efetua a extração de um resource do repositório de objetos para um diretório no rootpath do server, apenas efetua a extração caso seja necessário.
Para determinar se é necessário extrair novamente o arquivo faz a comparação do MD5 do conteudo do arquivo em relação ao arquivo físico.
Métodos:
- GetCodResourceLog
- IsResourceOk
- GetLog
- GetRootPath
- SetRootPath
- GetPathResFile
- NeedReload
- ExtractOneResource
- DeleteLastResource
Exemplo
GetCodResourceLog
Retorna o código do log de extração do resource
Retorno:
| Nome | Tipo | Descrição | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| nRet | Numérico | codigo do log de extração do resource
|
IsResourceOk
Retorna se o arquivo de resource está ok, ou seja, presente na pasta de rootpath e atualizado em relação ao RPO
Retorno
| Nome | Tipo | Descrição |
|---|---|---|
| lRet | logico | Variável de controle que indica se o resource está ok |
GetLog
Retorna o log definido na classe
Retorno
| Nome | Tipo | Descrição |
|---|---|---|
| cLog | caractere | Último log que foi definido ao extrair um recurso |
GetRootPath
Método para retornar o caminho padrão de extração do arquivo.
Caso a propriedade extensão esteja informada, retorna também a extensão como parte do caminho. O caractere de barra sempre será retornado no final do caminho
Retorno
| Nome | Tipo | Descrição |
|---|---|---|
| cRet | caractere | Caminho padrão que será utilizado no extract |
SetRootPath
Método para definir o caminho padrão de extração do arquivo. O caminho de extração deve ser no servidor a partir da protheus_data
Parâmetros
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cRootPath | caractere | Pasta para definir o caminho padrão para extração | X |
GetPathResFile
Retorna o nome do resource concatenado com o rootpath
Retorno
| Nome | Tipo | Descrição |
|---|---|---|
| cRet | caractere | Nome completo do path mais o resource |
NeedReload
Método para verificar se o resource precisa ser extraído novamente
Parâmetro
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cMD5 | caractere | Código md5 a ser comparado, caso seja passado não será utilizado o arquivo físico para comparar com o md5 do RPO |
Retorno
| Nome | Tipo | Descrição |
|---|---|---|
| lRet | logico | True caso precise fazer o reload no arquivo e false caso não precise. |
ExtractOneResource
Método para extrair um resource do RPO.
Retorna true apenas quando a extração foi realizada. Caso tenha retornado false, é necessário utilizar o método isResourceOk
Para determinar se o resource está disponível na pasta, junto com o método GetLog e GetCodResourceLog
Parametro
| Nome | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| cResource | caractere | Indica o nome do recurso no repositório a ser salvo em disco pode ser passado junto com a extensão | X |
| cExtensao | caractere | Extensão do arquivo a ser extraído, caso seja passado não deve ser passado no resource, | |
| cMD5 | caractere | Código md5 do arquivo, caso seja passado não irá utilizar o md5 do arquivo físico será utilizado esse parâmetro para determinar se o arquivo precisa ser atualizado | |
| Parâmetro interno, não deve ser utilizado. |
Retorno
| Nome | Tipo | Descrição |
|---|---|---|
| lRet | logico | Retorna true caso tenha extraído com sucesso o arquivo retorna false caso não tenha feito a extração, se o recurso já está na pasta rootpath definida, tb irá retornar false |
DeleteLastResource
Deleta o resource extraído anteriormente. Se o arquivo já não existir no diretório, retorna 0
Retorno
| Nome | Tipo | Descrição |
|---|---|---|
| nRet | numérico | Código de retorno da função FErase retorna 0 caso tenha conseguido deletar, ou -1 caso não tenha deletado |