pt.despodata.java.webappl
Class GenericModel

java.lang.Object
  extended byjava.util.Observable
      extended bypt.despodata.java.mvc.Model
          extended bypt.despodata.java.webappl.GenericModel
All Implemented Interfaces:
IModel

public abstract class GenericModel
extends Model

GenericModel.java

Version:
$Revision: 1.2 $
Author:
Paulo Carmo

Field Summary
static int ACTUALIZAR
          Actualizacao do registo corrente do modelo de dados.
static int ACTUALIZAR_UM
          Actualizacao de um registo do modelo de dados.
static int ALTERAR_DETALHE
          Alteracao de detalhes no modelo de dados.
static int ALTERAR_MARCADO
          Alteracao de detalhes no modelo de dados.
static java.lang.String COMMAND
          Nome do argumento onde devera vir o comando.
static java.lang.String DELETE_ROW_NUMBERS
          Nome do argumento onde devera vir o numero dos registo que devem ser apagados.
static java.lang.String FROM_FORM
          Nome do parametro usado para dizer que a descricao vem directamente do form e nao de uma tabela.
static java.lang.String HTTP_SERVLET_REQUEST
          Nome do argumento onde devera vir o request.
static int INSERIR_DETALHE
          Insercao de detalhes no modelo de dados.
static java.lang.String INSERT_RELATION
          Nome do parametro usado para guardar as relacoes usadas para fazer insercoes de detalhes.
static java.lang.String INSERT_ROW_NUMBERS
          Nome do argumento onde devera vir o numero dos registo que devem ser inseridos.
static java.lang.String MAIN_WEB_PAGE
          Nome do argumento onde devera vir a WEBPAGE principal.
static int PESQUISAR
          Pesquisa no modelo de dados.
static int PRE_INSERIR_DETALHE
          Insercao de detalhes no modelo de dados.
static int REMOVER
          Remocao no modelo de dados.
static int REMOVER_DETALHE
          Remocao de detalhes no modelo de dados.
static java.lang.String ROW_NUMBER
          Nome do argumento onde devera vir o numero de um registo
static java.lang.String SEARCH_RELATION
          Nome do parametro usado para guardar as relacoes usadas para fazer pesquisas (por exemplo a pesquisa de um detalhe para ser alterado).
protected  DDataSource source
          Fonte dos dados.
static java.lang.String WEB_PAGE
          Nome do argumento onde devera vir a WEBPAGE
 
Fields inherited from class pt.despodata.java.mvc.Model
myData
 
Constructor Summary
GenericModel(DDataSource source)
          Constroi um modelo de dados.
 
Method Summary
 void addDetailGenerator(ApplCreateListener l)
          Adiciona uma classe encarregue de criar detalhes.
 void addTableGenerator(ApplCreateListener l)
          Adiciona uma classe encarregue de criar tabelas.
 void commit()
          Torna as mudancas efectuadas desde o ultimo commit/rollback permanentes.
protected abstract  void createGenerators(javax.servlet.http.HttpSession session)
          Cria as classes que geram tabelas principais e de detalhe.
protected abstract  ApplData createTables(javax.servlet.http.HttpSession session)
          Cria as classes que representam as tabelas na base de dados, e as dependencias existentes entre elas.
 java.lang.Object getMyData(java.lang.Object id)
          Devolve uma tabela principal do modelo de dados.
 ApplDataControl getMyData(java.lang.String tableName, boolean detailPage)
          Devolve um ApplDataControl de uma determinada tabela.
 ApplDataControl getMyData(java.lang.String tableName, java.lang.String detailPage)
          Deprecated.  
 void initSession(javax.servlet.http.HttpSession session)
          Coloca as tabelas no objecto da sessao.
 boolean isDetail(ApplDataControl dc)
          Verifica se um applDataControl e de detalhe ou nao.
 void rollback()
          Descarta todaas as mudancas efectuadas desde o ultimo commit/rollback.
 java.lang.Object Service(java.lang.Object obj)
          Para servir um pedido do controlador.
 void setAutoCommit(boolean autoCommit)
          Altera o tipo de commit (automatico/manual) usado pela coneccao do modelo de dados.
 java.lang.String toString()
           
 
Methods inherited from class pt.despodata.java.mvc.Model
getMyData, setMyData
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface pt.despodata.java.mvc.IModel
addObserver, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers
 

Field Detail

PESQUISAR

public static final int PESQUISAR
Pesquisa no modelo de dados.

See Also:
Constant Field Values

ACTUALIZAR

public static final int ACTUALIZAR
Actualizacao do registo corrente do modelo de dados.

See Also:
Constant Field Values

REMOVER

public static final int REMOVER
Remocao no modelo de dados.

See Also:
Constant Field Values

PRE_INSERIR_DETALHE

public static final int PRE_INSERIR_DETALHE
Insercao de detalhes no modelo de dados.

See Also:
Constant Field Values

INSERIR_DETALHE

public static final int INSERIR_DETALHE
Insercao de detalhes no modelo de dados.

See Also:
Constant Field Values

REMOVER_DETALHE

public static final int REMOVER_DETALHE
Remocao de detalhes no modelo de dados.

See Also:
Constant Field Values

ALTERAR_MARCADO

public static final int ALTERAR_MARCADO
Alteracao de detalhes no modelo de dados.

See Also:
Constant Field Values

ALTERAR_DETALHE

public static final int ALTERAR_DETALHE
Alteracao de detalhes no modelo de dados.

See Also:
Constant Field Values

ACTUALIZAR_UM

public static final int ACTUALIZAR_UM
Actualizacao de um registo do modelo de dados.

See Also:
Constant Field Values

HTTP_SERVLET_REQUEST

public static final java.lang.String HTTP_SERVLET_REQUEST
Nome do argumento onde devera vir o request.

See Also:
Constant Field Values

WEB_PAGE

public static final java.lang.String WEB_PAGE
Nome do argumento onde devera vir a WEBPAGE

See Also:
Constant Field Values

MAIN_WEB_PAGE

public static final java.lang.String MAIN_WEB_PAGE
Nome do argumento onde devera vir a WEBPAGE principal.

See Also:
Constant Field Values

COMMAND

public static final java.lang.String COMMAND
Nome do argumento onde devera vir o comando.

See Also:
Constant Field Values

DELETE_ROW_NUMBERS

public static final java.lang.String DELETE_ROW_NUMBERS
Nome do argumento onde devera vir o numero dos registo que devem ser apagados.

See Also:
Constant Field Values

INSERT_ROW_NUMBERS

public static final java.lang.String INSERT_ROW_NUMBERS
Nome do argumento onde devera vir o numero dos registo que devem ser inseridos.

See Also:
Constant Field Values

INSERT_RELATION

public static final java.lang.String INSERT_RELATION
Nome do parametro usado para guardar as relacoes usadas para fazer insercoes de detalhes.


SEARCH_RELATION

public static final java.lang.String SEARCH_RELATION
Nome do parametro usado para guardar as relacoes usadas para fazer pesquisas (por exemplo a pesquisa de um detalhe para ser alterado).


FROM_FORM

public static final java.lang.String FROM_FORM
Nome do parametro usado para dizer que a descricao vem directamente do form e nao de uma tabela.


ROW_NUMBER

public static final java.lang.String ROW_NUMBER
Nome do argumento onde devera vir o numero de um registo

See Also:
Constant Field Values

source

protected DDataSource source
Fonte dos dados.

Constructor Detail

GenericModel

public GenericModel(DDataSource source)
             throws java.sql.SQLException
Constroi um modelo de dados.

Method Detail

createTables

protected abstract ApplData createTables(javax.servlet.http.HttpSession session)
Cria as classes que representam as tabelas na base de dados, e as dependencias existentes entre elas.


createGenerators

protected abstract void createGenerators(javax.servlet.http.HttpSession session)
Cria as classes que geram tabelas principais e de detalhe.


initSession

public void initSession(javax.servlet.http.HttpSession session)
Coloca as tabelas no objecto da sessao.

Parameters:
session - Sessao que identifica o utilizador.

Service

public java.lang.Object Service(java.lang.Object obj)
Para servir um pedido do controlador.

Specified by:
Service in interface IModel
Specified by:
Service in class Model
Parameters:
obj - Parametros.
Returns:
Resultado do servico pedido.

commit

public void commit()
            throws java.sql.SQLException
Torna as mudancas efectuadas desde o ultimo commit/rollback permanentes.

Throws:
java.sql.SQLException

rollback

public void rollback()
              throws java.sql.SQLException
Descarta todaas as mudancas efectuadas desde o ultimo commit/rollback.

Throws:
java.sql.SQLException

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws java.sql.SQLException
Altera o tipo de commit (automatico/manual) usado pela coneccao do modelo de dados.

Parameters:
autoCommit - true para commit automatico, false para commit manual.
Throws:
java.sql.SQLException

getMyData

public ApplDataControl getMyData(java.lang.String tableName,
                                 java.lang.String detailPage)
Deprecated.  

Devolve um ApplDataControl de uma determinada tabela.

Parameters:
tableName - O nome da tabela requerida.
detailPage - Uma string preenchida com o valor 'true' caso a tabela pedida seja uma tabela de detalhe.

getMyData

public ApplDataControl getMyData(java.lang.String tableName,
                                 boolean detailPage)
Devolve um ApplDataControl de uma determinada tabela.

Parameters:
tableName - O nome da tabela requerida.
detailPage - Uma string preenchida com o valor 'true' caso a tabela pedida seja uma tabela de detalhe.

getMyData

public java.lang.Object getMyData(java.lang.Object id)
Devolve uma tabela principal do modelo de dados.

Parameters:
id - O identificador da tabela
Returns:
Uma tabela ou null caso a tabela nao exista.

addTableGenerator

public void addTableGenerator(ApplCreateListener l)
Adiciona uma classe encarregue de criar tabelas.

Parameters:
l - Listener a adicionar

addDetailGenerator

public void addDetailGenerator(ApplCreateListener l)
Adiciona uma classe encarregue de criar detalhes.

Parameters:
l - Listener a adicionar

isDetail

public boolean isDetail(ApplDataControl dc)
Verifica se um applDataControl e de detalhe ou nao.


toString

public java.lang.String toString()