diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/MyProgram.java b/avaliacoes/diario-oficial/parteDois/src/main/java/MyProgram.java index f36527e..a90b4cd 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/MyProgram.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/MyProgram.java @@ -14,252 +14,283 @@ public class MyProgram { - public static void main(String[] args) { - Orgao orgaoPrefeitura = new Orgao(1, "PREFEITURA MUNICIPAL DE NITERÓI", Poder.Legislativo); - Orgao orgaoFundacao = new Orgao(2, "FUNDAÇÃO MUNICIPAL DE EDUCAÇÃO", Poder.Legislativo); - - ArrayList publicaçõesDo1 = new ArrayList(); - - ArrayList blocosPublicacaoUm = MyProgram.getBlocosPublicaçãoUm(); - ArrayList blocosPublicacaoDois = MyProgram.getBlocosPublicaçãoDois(); - ArrayList blocosPublicacaoTres = MyProgram.getBlocosPublicaçãoTrês(); - ArrayList blocosPublicacaoQuatro = MyProgram.getBlocosPublicaçãoQuatro(); - ArrayList blocosPublicacaoCinco = MyProgram.getBlocosPublicaçãoCinco(); - - Legislacao legislacao1 = new Legislacao(1, "LEI Nº 3824 DE 31 DE OUTUBRO DE 2023", null, null, - orgaoPrefeitura, - blocosPublicacaoUm, TipoLegislacao.LeisComplementares); - Legislacao legislacao2 = new Legislacao(1, "LEI Nº 3825 DE 31 DE OUTUBRO DE 2023", null, null, - orgaoPrefeitura, - blocosPublicacaoDois, TipoLegislacao.LeisComplementares); - Legislacao portaria1 = new Legislacao(1, "FUNDAÇÃO MUNICIPAL DE EDUCAÇÃO", null, null, orgaoPrefeitura, - blocosPublicacaoTres, TipoLegislacao.Portaria); - Contrato contrato = new Contrato("EXTRATO DE TERMO DE CONTRATO Nº 266/2023 ", null, null, orgaoFundacao, - blocosPublicacaoQuatro, null); - Legislacao portaria2 = new Legislacao(1, "PORTARIA N° 816/FME/2023", null, null, orgaoPrefeitura, - blocosPublicacaoCinco, TipoLegislacao.Portaria); - - publicaçõesDo1.add(legislacao1); - publicaçõesDo1.add(legislacao2); - publicaçõesDo1.add(portaria1); - publicaçõesDo1.add(contrato); - publicaçõesDo1.add(portaria2); - - DiarioOficial doNiteroi = new DiarioOficial("30 de outubro de 2023", 1, "Diário Oficial", - Esfera.Municipal, - publicaçõesDo1); - - doNiteroi.imprimirDiario(); - - DiarioOficialRepository diarioOficialRepository = new DiarioOficialRepository(); - diarioOficialRepository.salvar(doNiteroi); - } - - public static ArrayList getBlocosPublicaçãoUm() { - ArrayList blocos = new ArrayList(); - - Bloco bloco1 = new Bloco( - "Declara o Grêmio Recreativo Escola de Samba Souza Soares como Patrimônio Cultural Imaterial do Município de Niterói.", - TipoBloco.Texto, 1); - blocos.add(bloco1); - - Bloco bloco2 = new Bloco("A CÂMARA MUNICIPAL DE NITERÓI DECRETA E EU SANCIONO A SEGUINTE LEI:", - TipoBloco.Texto, - 2); - blocos.add(bloco2); - - Bloco bloco3 = new Bloco( - "Art. 1º- Fica reconhecido e declarado como patrimônio cultural imaterial do Município de Niterói o Grêmio Recreativo Escola de Samba Souza Soares.", - TipoBloco.Texto, 3); - blocos.add(bloco3); - - Bloco bloco4 = new Bloco("Art. 2º. Esta Lei entra em vigor na data da sua publicação.", TipoBloco.Texto, - 4); - blocos.add(bloco4); - - Bloco bloco5 = new Bloco("PREFEITURA MUNICIPAL DE NITERÓI, EM 31 DE OUTUBRO DE 2023.", TipoBloco.Texto, - 5); - blocos.add(bloco5); - - Bloco bloco6 = new Bloco("AXEL GRAEL- PREFEITO", TipoBloco.Texto, 6); - blocos.add(bloco6); - - Bloco bloco7 = new Bloco("PROJETO DE LEI Nº. 099/2022- AUTOR: CARLOS OTÁVIO DIAS VAZ – CASOTA", - TipoBloco.Texto, - 7); - blocos.add(bloco7); - - Bloco bloco8 = new Bloco("COAUTORES: ANDERSON PIPICO, BENNY BRIOLLY E LEONRDO GIORDANO", - TipoBloco.Texto, 8); - blocos.add(bloco8); - - return blocos; - } - - public static ArrayList getBlocosPublicaçãoDois() { - ArrayList blocos = new ArrayList(); - - Bloco bloco1Publi2 = new Bloco( - "Dispõe sobre o Polo Gastronômico no Bairro Barreto e dá outras providências.", - TipoBloco.Texto, 1); - blocos.add(bloco1Publi2); - - Bloco bloco2Publi2 = new Bloco("A CÂMARA MUNICIPAL DE NITERÓI DECRETA E EU SANCIONO A SEGUINTE LEI:", - TipoBloco.Texto, 2); - blocos.add(bloco2Publi2); - - Bloco bloco3Publi2 = new Bloco( - "Art. 1º- Altera o inciso VII do Parágrafo único do Art. 110 da Lei 2624 de 29 de Dezembro de 2008 - Código de Posturas do Município de Niterói, que passa a ter a seguinte redação:", - TipoBloco.Texto, 3); - blocos.add(bloco3Publi2); - - Bloco bloco4Publi2 = new Bloco("“Art. 110. .....................", TipoBloco.Texto, 4); - blocos.add(bloco4Publi2); - - Bloco bloco5Publi2 = new Bloco( - "Parágrafo único. Ficam definidos na forma do caput deste artigo os seguintes logradouros abaixo, podendo o Poder Executivo criar, por Decreto, novos locais de interesse turístico, cultural ou gastronômico:", - TipoBloco.Texto, 5); - blocos.add(bloco5Publi2); - - Bloco bloco6Publi2 = new Bloco("(...)", TipoBloco.Texto, 6); - blocos.add(bloco6Publi2); - - Bloco bloco7Publi2 = new Bloco( - "VII – a Rua Dr. Luiz Palmier, no trecho entre o nº 344 ao 446, a Rua Galvão próximo ao n° 135, Rua Guimarães Junior próximo ao n° 15 e o entorno da Praça Dr. Flávio Palmier da Veiga no Barreto.", - TipoBloco.Texto, 7); - blocos.add(bloco7Publi2); - - Bloco bloco8Publi2 = new Bloco( - "Art. 2º Esta Lei poderá ser regulamentada para garantir sua fiel execução.", - TipoBloco.Texto, 8); - blocos.add(bloco8Publi2); - - Bloco bloco9Publi2 = new Bloco("Art. 3º. Esta Lei entra em vigor na data de sua publicação.", - TipoBloco.Texto, - 9); - blocos.add(bloco9Publi2); - - Bloco bloco10Publi2 = new Bloco("PREFEITURA MUNICIPAL DE NITERÓI, EM 31 DE OUTUBRO DE 2023.", - TipoBloco.Texto, - 10); - blocos.add(bloco10Publi2); - - Bloco bloco11Publi2 = new Bloco("AXEL GRAEL- PREFEITO ", TipoBloco.Texto, 11); - blocos.add(bloco11Publi2); - - return blocos; - } - - public static ArrayList getBlocosPublicaçãoTrês() { - ArrayList blocos = new ArrayList(); - - Bloco bloco1Portaria1 = new Bloco( - "PORTARIA N° 817/FME/2023- Substitui Equipe de Gestão e Fiscalização do Contrato n° 022/2023; OBJETO: Aquisição de materiais de limpeza ", - TipoBloco.Texto, 1); - blocos.add(bloco1Portaria1); - - Bloco bloco2Portaria1 = new Bloco( - "a fim de atender às demandas da Fundação Municipal de Educação, Sede e Anexos, Bibliotecas Populares e Unidades Escolares ", - TipoBloco.Texto, 2); - blocos.add(bloco2Portaria1); - - Bloco bloco3Portaria1 = new Bloco( - "(2ªretirada). GESTOR: Lorena Neves Pestana Ribeiro. Matrícula n° 237.974-5. Cargo: Professora. Lotação: Departamento Administrativo/FME. ", - TipoBloco.Texto, 3); - blocos.add(bloco3Portaria1); - - Bloco bloco4Portaria1 = new Bloco( - "FISCAIS: 1) Andréia Baliano. Matrícula n° 237.841-6. Cargo: Assessora. Lotação: Departamento Administrativo/FME. 2) Isaias Amorim de ", - TipoBloco.Texto, 4); - blocos.add(bloco4Portaria1); - - Bloco bloco5Portaria1 = new Bloco( - "Araújo. Matrícula n° 234.363-0. Cargo: Agente de Administração Educacional. Lotação: Departamento Administrativo/FME. PARTES: FME e DG ", - TipoBloco.Texto, 5); - blocos.add(bloco5Portaria1); - - Bloco bloco6Portaria1 = new Bloco( - "INDÚSTRIA E DISTRIBUIÇÃO LTDA. FUNDAMENTO: Lei n° 8.666/1993, Decreto Municipal n° 11.950/2015. PROCESSOS: 210/4411/2022 e ", - TipoBloco.Texto, 6); - blocos.add(bloco6Portaria1); - - Bloco bloco7Portaria1 = new Bloco("210/12849/2022. ", TipoBloco.Texto, 7); - blocos.add(bloco7Portaria1); - return blocos; - } - - public static ArrayList getBlocosPublicaçãoQuatro() { - ArrayList blocos = new ArrayList(); - - Bloco bloco1Contrato = new Bloco( - "PROCESSO: 9900031874/2023. INSTRUMENTO: Termo de Contrato n° 266/2023. ", - TipoBloco.Texto, 1); - blocos.add(bloco1Contrato); - - Bloco bloco2Contrato = new Bloco( - "PARTES: FUNDAÇÃO MUNICIPAL DE EDUCAÇÃO, como CONTRATANTE, e, do outro ", - TipoBloco.Texto, 2); - blocos.add(bloco2Contrato); - - Bloco bloco3Contrato = new Bloco( - "lado, a L.F. GOMES COMÉRCIO E SERVIÇOS LTDA, inscrita no CNPJ/MF sob o nº 14.204.043/0001-01, como CONTRATADA. OBJETO:", - TipoBloco.Texto, 3); - blocos.add(bloco3Contrato); - - Bloco bloco4Contrato = new Bloco( - "Prestação de serviços de buffet (coffee break e brunch). PRAZO: 07 (sete) meses. VALOR: R$ 169.432,00 (cento e sessenta e nove mil e", - TipoBloco.Texto, 4); - blocos.add(bloco4Contrato); - - Bloco bloco5Contrato = new Bloco( - "quatrocentos e trinta e dois reais). VERBA: Natureza das Despesas: 3.3.3.9.0.39.00.00.00; Programa de Trabalho: 20.43.12.122.0145.4187;", - TipoBloco.Texto, 5); - blocos.add(bloco5Contrato); - - Bloco bloco6Contrato = new Bloco( - "Fonte: 1.704.00; Nota de Empenho: 001666/2023. FUNDAMENTO: Art. 22, III, §3º c/c art. 23, II, a da Lei Federal n° 8.666/1993. DATA DE", - TipoBloco.Texto, 6); - blocos.add(bloco6Contrato); - - Bloco bloco7Contrato = new Bloco( - "Fonte: 1.704.00; Nota de Empenho: 001666/2023. FUNDAMENTO: Art. 22, III, §3º c/c art. 23, II, a da Lei Federal n° 8.666/1993. DATA DE", - TipoBloco.Texto, 7); - blocos.add(bloco7Contrato); - - Bloco bloco8Contrato = new Bloco("ASSINATURA: 26/10/2023.", TipoBloco.Texto, 8); - blocos.add(bloco8Contrato); - - return blocos; - } - - public static ArrayList getBlocosPublicaçãoCinco() { - ArrayList blocos = new ArrayList(); - - Bloco bloco1Portaria2 = new Bloco( - "Institui Equipe de Gestão e Fiscalização do Contrato n° 266/2023. OBJETO: Prestação de serviços de buffet (coffee break e brunch). GESTORA: ", - TipoBloco.Texto, 1); - blocos.add(bloco1Portaria2); - - Bloco bloco2Portaria2 = new Bloco( - "Lorena Neves Pestana Ribeiro. Matrícula n° 237.974-5. Cargo: Professora I. Lotação: Departamento Administrativo/FME. FISCAIS: 1) Andréia ", - TipoBloco.Texto, 2); - blocos.add(bloco2Portaria2); - - Bloco bloco3Portaria2 = new Bloco( - "Baliano, Matrícula n° 237.841-6. Cargo: Assessora. Lotação: Departamento Administrativo/FME. 2) Isaias Amorim de Araújo. Matrícula n° 234.363-", - TipoBloco.Texto, 3); - blocos.add(bloco3Portaria2); - - Bloco bloco4Portaria2 = new Bloco( - "0. Cargo: Agente de Administração Educacional. Lotação: Departamento Administrativo/FME. PARTES: FME e L.F. GOMES COMÉRCIO E ", - TipoBloco.Texto, 3); - blocos.add(bloco4Portaria2); - - Bloco bloco5Portaria2 = new Bloco( - "SERVIÇOS LTDA. FUNDAMENTO: Lei n° 8.666/1993, Decreto Municipal n° 11.950/2015. PROCESSO: 9900031874/2023. ", - TipoBloco.Texto, 3); - blocos.add(bloco5Portaria2); - - return blocos; - } + /** + * Método principal que executa o programa. + * Cria órgãos, publicações, blocos, monta um Diário Oficial e imprime e salva. + * + * @param args argumentos da linha de comando (não utilizados) + */ + public static void main(String[] args) { + Orgao orgaoPrefeitura = new Orgao(1, "PREFEITURA MUNICIPAL DE NITERÓI", Poder.Legislativo); + Orgao orgaoFundacao = new Orgao(2, "FUNDAÇÃO MUNICIPAL DE EDUCAÇÃO", Poder.Legislativo); + + ArrayList publicaçõesDo1 = new ArrayList(); + + ArrayList blocosPublicacaoUm = MyProgram.getBlocosPublicaçãoUm(); + ArrayList blocosPublicacaoDois = MyProgram.getBlocosPublicaçãoDois(); + ArrayList blocosPublicacaoTres = MyProgram.getBlocosPublicaçãoTrês(); + ArrayList blocosPublicacaoQuatro = MyProgram.getBlocosPublicaçãoQuatro(); + ArrayList blocosPublicacaoCinco = MyProgram.getBlocosPublicaçãoCinco(); + + Legislacao legislacao1 = new Legislacao(1, "LEI Nº 3824 DE 31 DE OUTUBRO DE 2023", null, null, + orgaoPrefeitura, + blocosPublicacaoUm, TipoLegislacao.LeisComplementares); + Legislacao legislacao2 = new Legislacao(1, "LEI Nº 3825 DE 31 DE OUTUBRO DE 2023", null, null, + orgaoPrefeitura, + blocosPublicacaoDois, TipoLegislacao.LeisComplementares); + Legislacao portaria1 = new Legislacao(1, "FUNDAÇÃO MUNICIPAL DE EDUCAÇÃO", null, null, orgaoPrefeitura, + blocosPublicacaoTres, TipoLegislacao.Portaria); + Contrato contrato = new Contrato("EXTRATO DE TERMO DE CONTRATO Nº 266/2023 ", null, null, orgaoFundacao, + blocosPublicacaoQuatro, null); + Legislacao portaria2 = new Legislacao(1, "PORTARIA N° 816/FME/2023", null, null, orgaoPrefeitura, + blocosPublicacaoCinco, TipoLegislacao.Portaria); + + publicaçõesDo1.add(legislacao1); + publicaçõesDo1.add(legislacao2); + publicaçõesDo1.add(portaria1); + publicaçõesDo1.add(contrato); + publicaçõesDo1.add(portaria2); + + DiarioOficial doNiteroi = new DiarioOficial("30 de outubro de 2023", 1, "Diário Oficial", + Esfera.Municipal, + publicaçõesDo1); + + doNiteroi.imprimirDiario(); + + DiarioOficialRepository diarioOficialRepository = new DiarioOficialRepository(); + diarioOficialRepository.salvar(doNiteroi); + } + + /** + * Retorna uma lista de blocos para a primeira publicação. + * + * @return lista de blocos representando o conteúdo da publicação um + */ + public static ArrayList getBlocosPublicaçãoUm() { + ArrayList blocos = new ArrayList(); + + Bloco bloco1 = new Bloco( + "Declara o Grêmio Recreativo Escola de Samba Souza Soares como Patrimônio Cultural Imaterial do Município de Niterói.", + TipoBloco.Texto, 1); + blocos.add(bloco1); + + Bloco bloco2 = new Bloco("A CÂMARA MUNICIPAL DE NITERÓI DECRETA E EU SANCIONO A SEGUINTE LEI:", + TipoBloco.Texto, + 2); + blocos.add(bloco2); + + Bloco bloco3 = new Bloco( + "Art. 1º- Fica reconhecido e declarado como patrimônio cultural imaterial do Município de Niterói o Grêmio Recreativo Escola de Samba Souza Soares.", + TipoBloco.Texto, 3); + blocos.add(bloco3); + + Bloco bloco4 = new Bloco("Art. 2º. Esta Lei entra em vigor na data da sua publicação.", TipoBloco.Texto, + 4); + blocos.add(bloco4); + + Bloco bloco5 = new Bloco("PREFEITURA MUNICIPAL DE NITERÓI, EM 31 DE OUTUBRO DE 2023.", TipoBloco.Texto, + 5); + blocos.add(bloco5); + + Bloco bloco6 = new Bloco("AXEL GRAEL- PREFEITO", TipoBloco.Texto, 6); + blocos.add(bloco6); + + Bloco bloco7 = new Bloco("PROJETO DE LEI Nº. 099/2022- AUTOR: CARLOS OTÁVIO DIAS VAZ – CASOTA", + TipoBloco.Texto, + 7); + blocos.add(bloco7); + + Bloco bloco8 = new Bloco("COAUTORES: ANDERSON PIPICO, BENNY BRIOLLY E LEONRDO GIORDANO", + TipoBloco.Texto, 8); + blocos.add(bloco8); + + return blocos; + } + + /** + * Retorna uma lista de blocos para a segunda publicação. + * + * @return lista de blocos representando o conteúdo da publicação dois + */ + public static ArrayList getBlocosPublicaçãoDois() { + ArrayList blocos = new ArrayList(); + + Bloco bloco1Publi2 = new Bloco( + "Dispõe sobre o Polo Gastronômico no Bairro Barreto e dá outras providências.", + TipoBloco.Texto, 1); + blocos.add(bloco1Publi2); + + Bloco bloco2Publi2 = new Bloco("A CÂMARA MUNICIPAL DE NITERÓI DECRETA E EU SANCIONO A SEGUINTE LEI:", + TipoBloco.Texto, 2); + blocos.add(bloco2Publi2); + + Bloco bloco3Publi2 = new Bloco( + "Art. 1º- Altera o inciso VII do Parágrafo único do Art. 110 da Lei 2624 de 29 de Dezembro de 2008 - Código de Posturas do Município de Niterói, que passa a ter a seguinte redação:", + TipoBloco.Texto, 3); + blocos.add(bloco3Publi2); + + Bloco bloco4Publi2 = new Bloco("“Art. 110. .....................", TipoBloco.Texto, 4); + blocos.add(bloco4Publi2); + + Bloco bloco5Publi2 = new Bloco( + "Parágrafo único. Ficam definidos na forma do caput deste artigo os seguintes logradouros abaixo, podendo o Poder Executivo criar, por Decreto, novos locais de interesse turístico, cultural ou gastronômico:", + TipoBloco.Texto, 5); + blocos.add(bloco5Publi2); + + Bloco bloco6Publi2 = new Bloco("(...)", TipoBloco.Texto, 6); + blocos.add(bloco6Publi2); + + Bloco bloco7Publi2 = new Bloco( + "VII – a Rua Dr. Luiz Palmier, no trecho entre o nº 344 ao 446, a Rua Galvão próximo ao n° 135, Rua Guimarães Junior próximo ao n° 15 e o entorno da Praça Dr. Flávio Palmier da Veiga no Barreto.", + TipoBloco.Texto, 7); + blocos.add(bloco7Publi2); + + Bloco bloco8Publi2 = new Bloco( + "Art. 2º Esta Lei poderá ser regulamentada para garantir sua fiel execução.", + TipoBloco.Texto, 8); + blocos.add(bloco8Publi2); + + Bloco bloco9Publi2 = new Bloco("Art. 3º. Esta Lei entra em vigor na data de sua publicação.", + TipoBloco.Texto, + 9); + blocos.add(bloco9Publi2); + + Bloco bloco10Publi2 = new Bloco("PREFEITURA MUNICIPAL DE NITERÓI, EM 31 DE OUTUBRO DE 2023.", + TipoBloco.Texto, + 10); + blocos.add(bloco10Publi2); + + Bloco bloco11Publi2 = new Bloco("AXEL GRAEL- PREFEITO ", TipoBloco.Texto, 11); + blocos.add(bloco11Publi2); + + return blocos; + } + + /** + * Retorna uma lista de blocos para a terceira publicação. + * + * @return lista de blocos representando o conteúdo da publicação três + */ + public static ArrayList getBlocosPublicaçãoTrês() { + ArrayList blocos = new ArrayList(); + + Bloco bloco1Portaria1 = new Bloco( + "PORTARIA N° 817/FME/2023- Substitui Equipe de Gestão e Fiscalização do Contrato n° 022/2023; OBJETO: Aquisição de materiais de limpeza ", + TipoBloco.Texto, 1); + blocos.add(bloco1Portaria1); + + Bloco bloco2Portaria1 = new Bloco( + "a fim de atender às demandas da Fundação Municipal de Educação, Sede e Anexos, Bibliotecas Populares e Unidades Escolares ", + TipoBloco.Texto, 2); + blocos.add(bloco2Portaria1); + + Bloco bloco3Portaria1 = new Bloco( + "(2ªretirada). GESTOR: Lorena Neves Pestana Ribeiro. Matrícula n° 237.974-5. Cargo: Professora. Lotação: Departamento Administrativo/FME. ", + TipoBloco.Texto, 3); + blocos.add(bloco3Portaria1); + + Bloco bloco4Portaria1 = new Bloco( + "FISCAIS: 1) Andréia Baliano. Matrícula n° 237.841-6. Cargo: Assessora. Lotação: Departamento Administrativo/FME. 2) Isaias Amorim de ", + TipoBloco.Texto, 4); + blocos.add(bloco4Portaria1); + + Bloco bloco5Portaria1 = new Bloco( + "Araújo. Matrícula n° 234.363-0. Cargo: Agente de Administração Educacional. Lotação: Departamento Administrativo/FME. PARTES: FME e DG ", + TipoBloco.Texto, 5); + blocos.add(bloco5Portaria1); + + Bloco bloco6Portaria1 = new Bloco( + "INDÚSTRIA E DISTRIBUIÇÃO LTDA. FUNDAMENTO: Lei n° 8.666/1993, Decreto Municipal n° 11.950/2015. PROCESSOS: 210/4411/2022 e ", + TipoBloco.Texto, 6); + blocos.add(bloco6Portaria1); + + Bloco bloco7Portaria1 = new Bloco("210/12849/2022. ", TipoBloco.Texto, 7); + blocos.add(bloco7Portaria1); + return blocos; + } + + /** + * Retorna uma lista de blocos para a quarta publicação. + * + * @return lista de blocos representando o conteúdo da publicação quatro + */ + public static ArrayList getBlocosPublicaçãoQuatro() { + ArrayList blocos = new ArrayList(); + + Bloco bloco1Contrato = new Bloco( + "PROCESSO: 9900031874/2023. INSTRUMENTO: Termo de Contrato n° 266/2023. ", + TipoBloco.Texto, 1); + blocos.add(bloco1Contrato); + + Bloco bloco2Contrato = new Bloco( + "PARTES: FUNDAÇÃO MUNICIPAL DE EDUCAÇÃO, como CONTRATANTE, e, do outro ", + TipoBloco.Texto, 2); + blocos.add(bloco2Contrato); + + Bloco bloco3Contrato = new Bloco( + "lado, a L.F. GOMES COMÉRCIO E SERVIÇOS LTDA, inscrita no CNPJ/MF sob o nº 14.204.043/0001-01, como CONTRATADA. OBJETO:", + TipoBloco.Texto, 3); + blocos.add(bloco3Contrato); + + Bloco bloco4Contrato = new Bloco( + "Prestação de serviços de buffet (coffee break e brunch). PRAZO: 07 (sete) meses. VALOR: R$ 169.432,00 (cento e sessenta e nove mil e", + TipoBloco.Texto, 4); + blocos.add(bloco4Contrato); + + Bloco bloco5Contrato = new Bloco( + "quatrocentos e trinta e dois reais). VERBA: Natureza das Despesas: 3.3.3.9.0.39.00.00.00; Programa de Trabalho: 20.43.12.122.0145.4187;", + TipoBloco.Texto, 5); + blocos.add(bloco5Contrato); + + Bloco bloco6Contrato = new Bloco( + "Fonte: 1.704.00; Nota de Empenho: 001666/2023. FUNDAMENTO: Art. 22, III, §3º c/c art. 23, II, a da Lei Federal n° 8.666/1993. DATA DE", + TipoBloco.Texto, 6); + blocos.add(bloco6Contrato); + + Bloco bloco7Contrato = new Bloco( + "Fonte: 1.704.00; Nota de Empenho: 001666/2023. FUNDAMENTO: Art. 22, III, §3º c/c art. 23, II, a da Lei Federal n° 8.666/1993. DATA DE", + TipoBloco.Texto, 7); + blocos.add(bloco7Contrato); + + Bloco bloco8Contrato = new Bloco("ASSINATURA: 26/10/2023.", TipoBloco.Texto, 8); + blocos.add(bloco8Contrato); + + return blocos; + } + + /** + * Retorna uma lista de blocos para a quinta publicação. + * + * @return lista de blocos representando o conteúdo da publicação cinco + */ + public static ArrayList getBlocosPublicaçãoCinco() { + ArrayList blocos = new ArrayList(); + + Bloco bloco1Portaria2 = new Bloco( + "Institui Equipe de Gestão e Fiscalização do Contrato n° 266/2023. OBJETO: Prestação de serviços de buffet (coffee break e brunch). GESTORA: ", + TipoBloco.Texto, 1); + blocos.add(bloco1Portaria2); + + Bloco bloco2Portaria2 = new Bloco( + "Lorena Neves Pestana Ribeiro. Matrícula n° 237.974-5. Cargo: Professora I. Lotação: Departamento Administrativo/FME. FISCAIS: 1) Andréia ", + TipoBloco.Texto, 2); + blocos.add(bloco2Portaria2); + + Bloco bloco3Portaria2 = new Bloco( + "Baliano, Matrícula n° 237.841-6. Cargo: Assessora. Lotação: Departamento Administrativo/FME. 2) Isaias Amorim de Araújo. Matrícula n° 234.363-", + TipoBloco.Texto, 3); + blocos.add(bloco3Portaria2); + + Bloco bloco4Portaria2 = new Bloco( + "0. Cargo: Agente de Administração Educacional. Lotação: Departamento Administrativo/FME. PARTES: FME e L.F. GOMES COMÉRCIO E ", + TipoBloco.Texto, 3); + blocos.add(bloco4Portaria2); + + Bloco bloco5Portaria2 = new Bloco( + "SERVIÇOS LTDA. FUNDAMENTO: Lei n° 8.666/1993, Decreto Municipal n° 11.950/2015. PROCESSO: 9900031874/2023. ", + TipoBloco.Texto, 3); + blocos.add(bloco5Portaria2); + + return blocos; + } } diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Aditivo.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Aditivo.java index c8cd1cc..20d80d0 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Aditivo.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Aditivo.java @@ -2,23 +2,63 @@ import model.enums.TipoAditivo; +/** + * Classe que representa um aditivo contratual, podendo envolver alterações como valor, vigência ou outros tipos. + * + *

Um aditivo é utilizado para formalizar modificações em contratos previamente firmados.

+ * + *

Esta classe contém:

+ *
    + *
  • Um identificador único ({@link #id}).
  • + *
  • O tipo de aditivo ({@link #tipoAditivo}), que pode ser valor, vigência ou outro.
  • + *
+ * + * @author Roma + */ public class Aditivo { + /** + * Identificador único do aditivo. + */ private int id; + + /** + * Tipo do aditivo, definido pelo enum {@link TipoAditivo}. + */ private TipoAditivo tipoAditivo; + /** + * Obtém o tipo do aditivo. + * + * @return o tipo do aditivo + */ public TipoAditivo getTipoAditivo() { return tipoAditivo; } + /** + * Define o tipo do aditivo. + * + * @param tipoAditivo o tipo do aditivo a ser definido + */ public void setTipoAditivo(TipoAditivo tipoAditivo) { this.tipoAditivo = tipoAditivo; } + /** + * Obtém o identificador do aditivo. + * + * @return o identificador do aditivo + */ public int getId() { return id; } + /** + * Define o identificador do aditivo. + * + * @param id o identificador a ser definido + */ public void setId(int id) { this.id = id; } diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Bloco.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Bloco.java index 15d6b58..4fa9d6f 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Bloco.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Bloco.java @@ -2,48 +2,120 @@ import model.enums.TipoBloco; +/** + * Classe que representa um bloco de conteúdo que pode ser texto, imagem ou tabela. + * + *

Cada bloco possui um texto associado, um tipo que indica sua natureza e uma ordem para organização.

+ * + *

Construtores disponíveis para criação de blocos com diferentes níveis de informação:

+ *
    + *
  • Construtor padrão que inicializa o texto vazio.
  • + *
  • Construtor que recebe apenas o texto.
  • + *
  • Construtor que recebe texto, tipo e ordem.
  • + *
+ * + *

Este modelo é útil para estruturar conteúdos dinâmicos e organizados.

+ * + * @author Roma + */ public class Bloco { + /** + * Texto associado ao bloco. + */ private String texto; + + /** + * Tipo do bloco, definido pelo enum {@link TipoBloco}. + */ private TipoBloco tipo; + + /** + * Ordem do bloco dentro de uma sequência ou documento. + */ private int ordem; + /** + * Construtor padrão que inicializa o texto como vazio. + */ public Bloco() { this.texto = ""; } + /** + * Construtor que inicializa o bloco com o texto informado. + * + * @param texto texto do bloco + */ public Bloco(String texto) { this.texto = texto; } + /** + * Construtor que inicializa o bloco com texto, tipo e ordem. + * + * @param texto texto do bloco + * @param tipo tipo do bloco, conforme {@link TipoBloco} + * @param ordem ordem do bloco + */ public Bloco(String texto, TipoBloco tipo, int ordem) { this.texto = texto; this.tipo = tipo; this.ordem = ordem; } + /** + * Obtém a ordem do bloco. + * + * @return a ordem do bloco + */ public int getOrdem() { return ordem; } + /** + * Define a ordem do bloco. + * + * @param ordem a ordem a ser definida + */ public void setOrdem(int ordem) { this.ordem = ordem; } + /** + * Obtém o tipo do bloco. + * + * @return o tipo do bloco + */ public TipoBloco getTipo() { return tipo; } + /** + * Define o tipo do bloco. + * + * @param tipo o tipo a ser definido, conforme {@link TipoBloco} + */ public void setTipo(TipoBloco tipo) { this.tipo = tipo; } + /** + * Obtém o texto do bloco. + * + * @return o texto do bloco + */ public String getTexto() { return texto; } + /** + * Define o texto do bloco. + * + * @param texto o texto a ser definido + */ public void setTexto(String texto) { this.texto = texto; } - } + diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Contrato.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Contrato.java index 5987e5f..71803af 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Contrato.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Contrato.java @@ -2,28 +2,78 @@ import java.util.ArrayList; +/** + * Classe que representa um contrato, que é um tipo específico de publicação. + * + *

Esta classe estende {@link Publicacao} e adiciona a funcionalidade de gerenciar uma lista de aditivos contratuais.

+ * + *

Um contrato pode conter:

+ *
    + *
  • Um título principal e um título auxiliar.
  • + *
  • Conteúdo textual.
  • + *
  • Informações sobre o órgão responsável.
  • + *
  • Uma lista de blocos de conteúdo, como textos, imagens e tabelas.
  • + *
  • Uma lista de aditivos associados.
  • + *
+ * + *

O método {@code imprimirPublicação} está sobrescrito para imprimir o conteúdo dos blocos do contrato.

+ * + * @author Roma + */ public class Contrato extends Publicacao { + /** + * Lista de aditivos associados ao contrato. + */ private ArrayList aditivos; + /** + * Construtor padrão que inicializa a lista de aditivos vazia. + */ public Contrato() { aditivos = new ArrayList(); } + /** + * Construtor que inicializa o contrato com os dados informados, incluindo a lista de aditivos. + * + * @param tituloPrincipal título principal da publicação + * @param tituloAuxiliar título auxiliar da publicação + * @param conteudo conteúdo textual da publicação + * @param orgao órgão responsável pela publicação + * @param blocos lista de blocos de conteúdo do contrato + * @param aditivos lista de aditivos associados ao contrato + */ public Contrato(String tituloPrincipal, String tituloAuxiliar, String conteudo, Orgao orgao, ArrayList blocos, ArrayList aditivos) { super(tituloPrincipal, tituloAuxiliar, conteudo, orgao, blocos); this.aditivos = aditivos; } + /** + * Obtém a lista de aditivos associados ao contrato. + * + * @return a lista de aditivos + */ public ArrayList getAditivos() { return aditivos; } + /** + * Define a lista de aditivos associados ao contrato. + * + * @param aditivos a lista de aditivos a ser definida + */ public void setAditivos(ArrayList aditivos) { this.aditivos = aditivos; } + /** + * Imprime a publicação, exibindo o conteúdo dos blocos do contrato. + * + *

Atualmente, apenas blocos do tipo texto são exibidos no console. Os blocos do tipo imagem e tabela + * possuem comentários indicando onde implementar a exibição apropriada.

+ */ @Override public void imprimirPublicação() { for (Bloco b : this.getBlocos()) { @@ -33,10 +83,12 @@ public void setAditivos(ArrayList aditivos) { break; case Imagem: // Implementar um mecanismo para exibir imagens. + break; case Tabela: // Implementar um mecanismo para exibir tabelas. + break; } } - } - + } } + diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Corrigenda.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Corrigenda.java index 0979095..462188e 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Corrigenda.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Corrigenda.java @@ -2,14 +2,42 @@ import java.util.ArrayList; +/** + * Classe que representa uma corrigenda, um tipo de publicação utilizada para corrigir informações anteriores. + * + *

Esta classe estende {@link Publicacao} e adiciona um campo específico chamado {@code content} para conteúdo adicional.

+ * + *

O método {@code imprimirPublicação} está sobrescrito para exibir o título principal, título auxiliar e os blocos de conteúdo.

+ * + * @author Roma + */ public class Corrigenda extends Publicacao { + + /** + * Conteúdo adicional específico da corrigenda. + */ private String content; + /** + * Construtor que inicializa a corrigenda com os dados informados. + * + * @param tituloPrincipal título principal da publicação + * @param tituloAuxiliar título auxiliar da publicação + * @param conteudo conteúdo textual da publicação + * @param orgao órgão responsável pela publicação + * @param blocos lista de blocos de conteúdo da corrigenda + */ public Corrigenda(String tituloPrincipal, String tituloAuxiliar, String conteudo, Orgao orgao, ArrayList blocos) { super(tituloPrincipal, tituloAuxiliar, conteudo, orgao, blocos); } + /** + * Imprime a publicação, exibindo título principal, título auxiliar e conteúdo dos blocos. + * + *

Atualmente, apenas blocos do tipo texto são exibidos no console. Blocos do tipo imagem e tabela possuem + * comentários indicando onde implementar a exibição adequada.

+ */ @Override public void imprimirPublicação() { System.out.println(this.getTituloPrincipal()); @@ -21,18 +49,29 @@ public Corrigenda(String tituloPrincipal, String tituloAuxiliar, String conteudo break; case Imagem: // Implementar um mecanismo para exibir imagens. + break; case Tabela: // Implementar um mecanismo para exibir tabelas. + break; } } } + /** + * Obtém o conteúdo adicional da corrigenda. + * + * @return o conteúdo adicional + */ public String getContent() { return this.content; } + /** + * Define o conteúdo adicional da corrigenda. + * + * @param content o conteúdo a ser definido + */ public void setContent(String content) { this.content = content; } - } diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/DiarioOficial.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/DiarioOficial.java index d4133be..7667098 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/DiarioOficial.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/DiarioOficial.java @@ -1,31 +1,87 @@ package model; import java.util.ArrayList; - import model.enums.Esfera; +/** + * Classe que representa um Diário Oficial, veículo oficial de publicação de atos, documentos e informações governamentais. + * + *

O Diário Oficial possui os seguintes atributos:

+ *
    + *
  • Título do diário.
  • + *
  • Número de edição.
  • + *
  • Esfera governamental a que pertence ({@link Esfera}).
  • + *
  • Data da edição.
  • + *
  • Lista de publicações contidas no diário ({@link Publicacao}).
  • + *
+ * + *

Possui métodos para adicionar, remover e imprimir publicações, além dos getters e setters padrão.

+ * + * @author Roma + */ public class DiarioOficial { + /** + * Título do Diário Oficial. + */ private String titulo; + + /** + * Número da edição do Diário Oficial. + */ private int numero; + + /** + * Esfera governamental a que o Diário Oficial pertence. + */ private Esfera esfera; + + /** + * Data da edição do Diário Oficial. + */ private String data; + + /** + * Lista de publicações contidas no Diário Oficial. + */ private ArrayList publicações; + /** + * Construtor padrão que inicializa o título vazio e a lista de publicações vazia. + */ public DiarioOficial() { this.titulo = ""; this.publicações = new ArrayList(); } + /** + * Construtor que inicializa o Diário Oficial com o título informado e lista de publicações vazia. + * + * @param titulo título do Diário Oficial + */ public DiarioOficial(String titulo) { this.titulo = titulo; this.publicações = new ArrayList(); } + /** + * Construtor que inicializa o Diário Oficial com a lista de publicações informada. + * + * @param publicações lista de publicações do Diário Oficial + */ public DiarioOficial(ArrayList publicações) { this.publicações = publicações; } + /** + * Construtor que inicializa todos os atributos do Diário Oficial. + * + * @param data data da edição + * @param numero número da edição + * @param titulo título do Diário Oficial + * @param esfera esfera governamental + * @param publicações lista de publicações + */ public DiarioOficial(String data, int numero, String titulo, Esfera esfera, ArrayList publicações) { this.data = data; this.numero = numero; @@ -34,50 +90,112 @@ public DiarioOficial(String data, int numero, String titulo, Esfera esfera, Arra this.publicações = publicações; } + /** + * Obtém o título do Diário Oficial. + * + * @return o título do Diário Oficial + */ public String getTitulo() { return titulo; } + /** + * Define o título do Diário Oficial. + * + * @param titulo o título a ser definido + */ public void setTitulo(String titulo) { this.titulo = titulo; } + /** + * Obtém o número da edição do Diário Oficial. + * + * @return o número da edição + */ public int getNumero() { return numero; } + /** + * Define o número da edição do Diário Oficial. + * + * @param numero o número a ser definido + */ public void setNumero(int numero) { this.numero = numero; } + /** + * Obtém a esfera governamental do Diário Oficial. + * + * @return a esfera governamental + */ public Esfera getEsfera() { return esfera; } + /** + * Define a esfera governamental do Diário Oficial. + * + * @param esfera a esfera a ser definida + */ public void setEsfera(Esfera esfera) { this.esfera = esfera; } + /** + * Obtém a data da edição do Diário Oficial. + * + * @return a data da edição + */ public String getData() { return data; } + /** + * Define a data da edição do Diário Oficial. + * + * @param data a data a ser definida + */ public void setData(String data) { this.data = data; } + /** + * Obtém a lista de publicações do Diário Oficial. + * + * @return a lista de publicações + */ public ArrayList getPublicações() { return publicações; } + /** + * Define a lista de publicações do Diário Oficial. + * + * @param publicações a lista a ser definida + */ public void setPublicações(ArrayList publicações) { this.publicações = publicações; } + /** + * Adiciona uma publicação à lista de publicações do Diário Oficial. + * + * @param publicação publicação a ser adicionada + */ public void addPublicação(Publicacao publicação) { this.publicações.add(publicação); } + /** + * Remove uma publicação da lista de publicações do Diário Oficial. + * + *

Se a lista estiver vazia, exibe uma mensagem informando que não foi possível deletar.

+ * + * @param publicação publicação a ser removida + */ public void deletePublicação(Publicacao publicação) { int arraysize = this.publicações.size(); if (arraysize == 0) { @@ -87,6 +205,9 @@ public void setData(String data) { } } + /** + * Imprime as informações do Diário Oficial e todas as suas publicações. + */ public void imprimirDiario() { System.out.println(this.titulo); System.out.println(this.data); @@ -95,5 +216,4 @@ public void imprimirDiario() { p.imprimirPublicação(); } } - } diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Legislacao.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Legislacao.java index 41ea2ca..2076418 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Legislacao.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Legislacao.java @@ -1,32 +1,72 @@ package model; import java.util.ArrayList; - import model.enums.TipoLegislacao; +/** + * Classe que representa uma legislação, que é um tipo específico de publicação contendo normas jurídicas. + * + *

Esta classe estende {@link Publicacao} e adiciona o atributo {@code tipoLegislacao} para especificar + * o tipo de legislação, conforme o enum {@link TipoLegislacao}.

+ * + *

O método {@code imprimirPublicação} está sobrescrito para imprimir o conteúdo dos blocos da legislação.

+ * + * @author Roma + */ public class Legislacao extends Publicacao { + /** + * Tipo da legislação, conforme definido pelo enum {@link TipoLegislacao}. + */ private TipoLegislacao tipoLegislacao; + /** + * Construtor padrão. + */ public Legislacao() { - } + /** + * Construtor que inicializa a legislação com os dados informados. + * + * @param id identificador da legislação (não usado diretamente na classe base, mas pode ser útil) + * @param tituloPrincipal título principal da publicação + * @param tituloAuxiliar título auxiliar da publicação + * @param conteudo conteúdo textual da publicação + * @param orgao órgão responsável pela publicação + * @param blocos lista de blocos de conteúdo + * @param legislacao tipo da legislação + */ public Legislacao(int id, String tituloPrincipal, String tituloAuxiliar, String conteudo, Orgao orgao, ArrayList blocos, TipoLegislacao legislacao) { super(tituloPrincipal, tituloAuxiliar, conteudo, orgao, blocos); - this.tipoLegislacao = legislacao; } + /** + * Obtém o tipo da legislação. + * + * @return o tipo da legislação + */ public TipoLegislacao getTipoLegislacao() { return tipoLegislacao; } + /** + * Define o tipo da legislação. + * + * @param tipoLegislacao o tipo da legislação a ser definido + */ public void setTipoLegislacao(TipoLegislacao tipoLegislacao) { this.tipoLegislacao = tipoLegislacao; } + /** + * Imprime o conteúdo dos blocos da legislação. + * + *

Atualmente, apenas blocos do tipo texto são exibidos no console. Blocos do tipo imagem e tabela possuem + * comentários indicando onde implementar a exibição adequada.

+ */ @Override public void imprimirPublicação() { for (Bloco b : this.getBlocos()) { @@ -36,10 +76,11 @@ public void setTipoLegislacao(TipoLegislacao tipoLegislacao) { break; case Imagem: // Implementar um mecanismo para exibir imagens. + break; case Tabela: // Implementar um mecanismo para exibir tabelas. + break; } } } - } diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Licitacao.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Licitacao.java index 1743b2c..89ad62b 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Licitacao.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Licitacao.java @@ -1,22 +1,66 @@ package model; import java.util.ArrayList; - import model.enums.Modalidade; import model.enums.Fase; +/** + * Classe que representa uma Licitação, um tipo de publicação que trata de processos licitatórios. + * + *

Esta classe estende {@link Publicacao} e adiciona atributos específicos do processo de licitação, como fase, + * datas das fases, modalidade e tipo de escolha do vencedor.

+ * + *

O método {@code imprimirPublicação} está sobrescrito para imprimir o título e o conteúdo dos blocos.

+ * + * @author Roma + */ public class Licitacao extends Publicacao { + + /** + * Fase atual da licitação, conforme o enum {@link Fase}. + */ private Fase fase; + + /** + * Data de abertura da fase (representada como inteiro, sugere-se melhorar para tipo de data). + */ private int dataAberturaFase; + + /** + * Modalidade da licitação, conforme o enum {@link Modalidade}. + */ private Modalidade modalidade; + + /** + * Data de encerramento da fase (representada como inteiro, sugere-se melhorar para tipo de data). + */ private int dataEncerramentoFase; + + /** + * Tipo da escolha do vencedor (representado como inteiro, pode ser aprimorado para enum). + */ private int tipoEscolhaVencedor; + /** + * Construtor que inicializa a licitação com os dados básicos da publicação. + * + * @param tituloPrincipal título principal da publicação + * @param tituloAuxiliar título auxiliar da publicação + * @param conteudo conteúdo textual da publicação + * @param orgao órgão responsável pela publicação + * @param blocos lista de blocos de conteúdo + */ public Licitacao(String tituloPrincipal, String tituloAuxiliar, String conteudo, Orgao orgao, ArrayList blocos) { super(tituloPrincipal, tituloAuxiliar, conteudo, orgao, blocos); } + /** + * Imprime a publicação, exibindo o título principal, título auxiliar e o conteúdo dos blocos. + * + *

Atualmente, apenas blocos do tipo texto são exibidos no console. Blocos do tipo imagem e tabela possuem + * comentários indicando onde implementar a exibição adequada.

+ */ @Override public void imprimirPublicação() { System.out.println(this.getTituloPrincipal()); @@ -28,48 +72,100 @@ public Licitacao(String tituloPrincipal, String tituloAuxiliar, String conteudo, break; case Imagem: // Implementar um mecanismo para exibir imagens. + break; case Tabela: // Implementar um mecanismo para exibir tabelas. + break; } } } + /** + * Obtém o tipo da escolha do vencedor. + * + * @return o tipo da escolha do vencedor + */ public int getTipoEscolhaVencedor() { return tipoEscolhaVencedor; } + /** + * Define o tipo da escolha do vencedor. + * + * @param tipoEscolhaVencedor o tipo da escolha a ser definido + */ public void setTipoEscolhaVencedor(int tipoEscolhaVencedor) { this.tipoEscolhaVencedor = tipoEscolhaVencedor; } + /** + * Obtém a data de encerramento da fase da licitação. + * + * @return a data de encerramento da fase + */ public int getDataEncerramentoFase() { return dataEncerramentoFase; } + /** + * Define a data de encerramento da fase da licitação. + * + * @param dataEncerramentoFase a data a ser definida + */ public void setDataEncerramentoFase(int dataEncerramentoFase) { this.dataEncerramentoFase = dataEncerramentoFase; } + /** + * Obtém a data de abertura da fase da licitação. + * + * @return a data de abertura da fase + */ public int getDataAberturaFase() { return dataAberturaFase; } + /** + * Define a data de abertura da fase da licitação. + * + * @param dataAberturaFase a data a ser definida + */ public void setDataAberturaFase(int dataAberturaFase) { this.dataAberturaFase = dataAberturaFase; } + /** + * Obtém a fase atual da licitação. + * + * @return a fase da licitação + */ public Fase getFase() { return this.fase; } + /** + * Define a fase atual da licitação. + * + * @param fase a fase a ser definida + */ public void setFase(Fase fase) { this.fase = fase; } + /** + * Obtém a modalidade da licitação. + * + * @return a modalidade da licitação + */ public Modalidade getModalidade() { return modalidade; } + /** + * Define a modalidade da licitação. + * + * @param modalidade a modalidade a ser definida + */ public void setModalidade(Modalidade modalidade) { this.modalidade = modalidade; } diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Orgao.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Orgao.java index 56c099b..ce0aab5 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Orgao.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Orgao.java @@ -2,38 +2,95 @@ import model.enums.Poder; +/** + * Classe que representa um órgão público, com informações de identificação e esfera de poder. + * + *

Contém um identificador, nome do órgão e o poder ao qual pertence.

+ * + * @author Roma + */ public class Orgao { + + /** + * Identificador único do órgão. + */ private int id; + + /** + * Nome do órgão público. + */ private String nomeOrg; + + /** + * Poder ao qual o órgão pertence, definido pelo enum {@link Poder}. + */ private Poder poder; + /** + * Construtor que inicializa o órgão com seus atributos. + * + * @param id identificador do órgão + * @param nomeOrg nome do órgão público + * @param poder poder ao qual o órgão pertence + */ public Orgao(int id, String nomeOrg, Poder poder) { this.id = id; this.nomeOrg = nomeOrg; this.poder = poder; } + /** + * Obtém o poder ao qual o órgão pertence. + * + * @return o poder do órgão + */ public Poder getPoder() { return poder; } + /** + * Define o poder ao qual o órgão pertence. + * + * @param poder o poder a ser definido + */ public void setPoder(Poder poder) { this.poder = poder; } + /** + * Obtém o nome do órgão. + * + * @return o nome do órgão + */ public String getNomeOrg() { return nomeOrg; } + /** + * Define o nome do órgão. + * + * @param nomeOrg o nome a ser definido + */ public void setNomeOrg(String nomeOrg) { this.nomeOrg = nomeOrg; } + /** + * Obtém o identificador do órgão. + * + * @return o identificador do órgão + */ public int getId() { return id; } + /** + * Define o identificador do órgão. + * + * @param id o identificador a ser definido + */ public void setId(int id) { this.id = id; } } + diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Publicacao.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Publicacao.java index 1cd1f79..bdd9361 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/Publicacao.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/Publicacao.java @@ -2,70 +2,170 @@ import java.util.ArrayList; +/** + * Classe abstrata que representa uma publicação genérica. + * + *

Define os atributos comuns a diferentes tipos de publicações, como título principal, título auxiliar, + * conteúdo, órgão responsável e blocos de conteúdo.

+ * + *

Subclasses devem implementar o método abstrato {@code imprimirPublicação()} para definir + * como a publicação será impressa ou exibida.

+ * + * @author Roma + */ public abstract class Publicacao { + /** + * Título principal da publicação. + */ private String tituloPrincipal; + + /** + * Título auxiliar da publicação. + */ private String tituloAuxiliar; + + /** + * Conteúdo textual da publicação. + */ private String conteudo; + + /** + * Órgão responsável pela publicação. + */ private Orgao orgao; + + /** + * Lista de blocos de conteúdo que compõem a publicação. + */ private ArrayList blocos; + /** + * Construtor padrão que inicializa a lista de blocos vazia. + */ public Publicacao() { this.blocos = new ArrayList(); } + /** + * Construtor que inicializa a publicação com uma lista de blocos fornecida. + * + * @param blocos lista de blocos da publicação + */ public Publicacao(ArrayList blocos) { this.blocos = blocos; } - public Publicacao(String tituloPrincial, String tituloAuxiliar, String conteudo, Orgao orgao, ArrayList blocos) { - this.tituloPrincipal = tituloPrincial; + /** + * Construtor que inicializa todos os atributos da publicação. + * + * @param tituloPrincipal título principal da publicação + * @param tituloAuxiliar título auxiliar da publicação + * @param conteudo conteúdo textual da publicação + * @param orgao órgão responsável pela publicação + * @param blocos lista de blocos da publicação + */ + public Publicacao(String tituloPrincipal, String tituloAuxiliar, String conteudo, Orgao orgao, ArrayList blocos) { + this.tituloPrincipal = tituloPrincipal; this.tituloAuxiliar = tituloAuxiliar; this.conteudo = conteudo; this.orgao = orgao; this.blocos = blocos; } + /** + * Obtém o título principal da publicação. + * + * @return o título principal + */ public String getTituloPrincipal() { return tituloPrincipal; } + /** + * Define o título principal da publicação. + * + * @param tituloPrincipal o título principal a ser definido + */ public void setTituloPrincipal(String tituloPrincipal) { this.tituloPrincipal = tituloPrincipal; } + /** + * Obtém o título auxiliar da publicação. + * + * @return o título auxiliar + */ public String getTituloAuxiliar() { return tituloAuxiliar; } + /** + * Define o título auxiliar da publicação. + * + * @param tituloAuxiliar o título auxiliar a ser definido + */ public void setTituloAuxiliar(String tituloAuxiliar) { this.tituloAuxiliar = tituloAuxiliar; } + /** + * Obtém o conteúdo textual da publicação. + * + * @return o conteúdo da publicação + */ public String getConteudo() { return conteudo; } + /** + * Define o conteúdo textual da publicação. + * + * @param conteudo o conteúdo a ser definido + */ public void setConteudo(String conteudo) { this.conteudo = conteudo; } + /** + * Obtém o órgão responsável pela publicação. + * + * @return o órgão responsável + */ public Orgao getOrgao() { return orgao; } + /** + * Define o órgão responsável pela publicação. + * + * @param orgao o órgão a ser definido + */ public void setOrgao(Orgao orgao) { this.orgao = orgao; } + /** + * Obtém a lista de blocos que compõem a publicação. + * + * @return a lista de blocos + */ public ArrayList getBlocos() { return blocos; } + /** + * Define a lista de blocos que compõem a publicação. + * + * @param blocos a lista de blocos a ser definida + */ public void setBlocos(ArrayList blocos) { this.blocos = blocos; } + /** + * Método abstrato que deve ser implementado pelas subclasses para definir + * como a publicação será impressa ou exibida. + */ public abstract void imprimirPublicação(); - } diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/EscolhaVencedor.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/EscolhaVencedor.java index 4185ee2..49c7860 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/EscolhaVencedor.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/EscolhaVencedor.java @@ -1,7 +1,32 @@ package model.enums; +/** + * Enumeração que representa os critérios para escolha do vencedor em um processo de decisão ou seleção. + * + *

As opções disponíveis são:

+ *
    + *
  • {@link #Preco} - O vencedor é escolhido com base no menor preço.
  • + *
  • {@link #Tecnica} - O vencedor é escolhido com base na melhor técnica.
  • + *
  • {@link #TecnicaEPreco} - O vencedor é escolhido com base em uma combinação de técnica e preço.
  • + *
+ * + *

Esta enum pode ser usada para representar diferentes estratégias de avaliação.

+ * + * @author Roma + */ public enum EscolhaVencedor { + /** + * Critério baseado no menor preço. + */ Preco, + + /** + * Critério baseado na melhor técnica. + */ Tecnica, + + /** + * Critério baseado na combinação de técnica e preço. + */ TecnicaEPreco } diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Esfera.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Esfera.java index cb68041..76ff7ad 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Esfera.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Esfera.java @@ -1,7 +1,32 @@ package model.enums; +/** + * Enumeração que representa as diferentes esferas administrativas do governo. + * + *

As opções disponíveis são:

+ *
    + *
  • {@link #Estadual} - Representa a esfera estadual.
  • + *
  • {@link #Municipal} - Representa a esfera municipal.
  • + *
  • {@link #Federal} - Representa a esfera federal.
  • + *
+ * + *

Esta enum pode ser utilizada para categorizar entidades ou processos de acordo com sua esfera de atuação.

+ * + * @author Roma + */ public enum Esfera { + /** + * Esfera estadual. + */ Estadual, + + /** + * Esfera municipal. + */ Municipal, + + /** + * Esfera federal. + */ Federal -} +} \ No newline at end of file diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Fase.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Fase.java index 8f294e6..f093010 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Fase.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Fase.java @@ -1,9 +1,44 @@ package model.enums; +/** + * Enumeração que representa as diferentes fases de um processo, como por exemplo um processo licitatório. + * + *

As fases disponíveis são:

+ *
    + *
  • {@link #Edital} - Fase de publicação do edital.
  • + *
  • {@link #Apresentacao} - Fase de apresentação das propostas ou documentos.
  • + *
  • {@link #Julgamento} - Fase de análise e julgamento das propostas.
  • + *
  • {@link #Habilitacao} - Fase de habilitação dos participantes.
  • + *
  • {@link #Homologacao} - Fase de homologação do resultado final.
  • + *
+ * + *

Este enum pode ser utilizado para controlar o progresso ou status de processos administrativos ou licitatórios.

+ * + * @author Roma + */ public enum Fase { + /** + * Fase de publicação do edital. + */ Edital, + + /** + * Fase de apresentação das propostas ou documentos. + */ Apresentacao, + + /** + * Fase de análise e julgamento das propostas. + */ Julgamento, + + /** + * Fase de habilitação dos participantes. + */ Habilitacao, + + /** + * Fase de homologação do resultado final. + */ Homologacao -} +} \ No newline at end of file diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Modalidade.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Modalidade.java index 0627ff6..250cef9 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Modalidade.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Modalidade.java @@ -1,11 +1,56 @@ package model.enums; +/** + * Enumeração que representa as diferentes modalidades de licitação ou contratação pública. + * + *

As modalidades disponíveis são:

+ *
    + *
  • {@link #Convite} - Modalidade para licitações entre interessados do ramo pertinente, escolhidos e convidados pela administração.
  • + *
  • {@link #TomadaDePrecos} - Modalidade para licitações com fornecedores previamente cadastrados que atendam às condições exigidas.
  • + *
  • {@link #Concorrencia} - Modalidade para licitações com participação aberta a qualquer interessado que atenda às exigências do edital.
  • + *
  • {@link #Pregao} - Modalidade para aquisição de bens e serviços comuns, onde os licitantes apresentam lances sucessivos.
  • + *
  • {@link #DispensaDeLicitacao} - Casos específicos onde a licitação pode ser dispensada por previsão legal.
  • + *
  • {@link #Inexigibilidade} - Casos em que a competição é inviável, como quando há fornecedor exclusivo.
  • + *
  • {@link #Concurso} - Modalidade para escolha de trabalho técnico, científico ou artístico mediante a instituição de prêmios ou remuneração.
  • + *
+ * + *

Este enum pode ser usado para classificar e controlar os tipos de processos licitatórios em um sistema de gestão pública.

+ * + * @author Roma + */ public enum Modalidade { + /** + * Modalidade para licitações entre interessados convidados pela administração. + */ Convite, + + /** + * Modalidade para licitações com fornecedores previamente cadastrados. + */ TomadaDePrecos, + + /** + * Modalidade para licitações abertas a qualquer interessado. + */ Concorrencia, + + /** + * Modalidade para aquisição de bens e serviços comuns, com lances sucessivos. + */ Pregao, + + /** + * Casos onde a licitação pode ser dispensada conforme a lei. + */ DispensaDeLicitacao, + + /** + * Casos em que a competição é inviável, como fornecedor exclusivo. + */ Inexigibilidade, + + /** + * Modalidade para escolha de trabalhos técnicos, científicos ou artísticos mediante prêmio. + */ Concurso -} +} \ No newline at end of file diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Poder.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Poder.java index 94fa229..e4fe9e3 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Poder.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/Poder.java @@ -1,8 +1,38 @@ package model.enums; +/** + * Enumeração que representa os diferentes poderes e órgãos autônomos no sistema governamental. + * + *

As opções disponíveis são:

+ *
    + *
  • {@link #Executivo} - Poder responsável pela administração e execução das leis.
  • + *
  • {@link #Legislativo} - Poder responsável por criar, alterar e revogar leis.
  • + *
  • {@link #Juciciario} - Poder responsável por interpretar e aplicar as leis, resolvendo conflitos.
  • + *
  • {@link #MinisterioPublico} - Órgão independente que fiscaliza o cumprimento das leis e defende os interesses da sociedade.
  • + *
+ * + *

Este enum pode ser utilizado para classificar entidades, processos ou agentes de acordo com o poder a que pertencem.

+ * + * @author Roma + */ public enum Poder { + /** + * Poder Executivo - responsável pela administração pública e execução das leis. + */ Executivo, + + /** + * Poder Legislativo - responsável pela criação, alteração e revogação das leis. + */ Legislativo, + + /** + * Poder Judiciário - responsável por interpretar as leis e resolver conflitos. + */ Juciciario, + + /** + * Ministério Público - órgão independente que fiscaliza o cumprimento das leis e protege os interesses da sociedade. + */ MinisterioPublico -} +} \ No newline at end of file diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoAditivo.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoAditivo.java index 3ee526c..191f2f5 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoAditivo.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoAditivo.java @@ -1,7 +1,32 @@ package model.enums; +/** + * Enumeração que representa os tipos de aditivos contratuais que podem ser aplicados a contratos ou acordos. + * + *

Os tipos disponíveis são:

+ *
    + *
  • {@link #Valor} - Aditivo relacionado à alteração no valor do contrato.
  • + *
  • {@link #Vigencia} - Aditivo relacionado à alteração no prazo de vigência do contrato.
  • + *
  • {@link #Outro} - Aditivo de outro tipo não especificado.
  • + *
+ * + *

Este enum pode ser utilizado para classificar modificações contratuais no sistema.

+ * + * @author Roma + */ public enum TipoAditivo { + /** + * Aditivo que altera o valor do contrato. + */ Valor, + + /** + * Aditivo que altera o prazo de vigência do contrato. + */ Vigencia, + + /** + * Aditivo de outro tipo, não especificado. + */ Outro -} +} \ No newline at end of file diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoBloco.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoBloco.java index b7a8e54..56406a2 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoBloco.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoBloco.java @@ -1,7 +1,32 @@ package model.enums; +/** + * Enumeração que representa os diferentes tipos de blocos que podem compor um conteúdo, como relatórios, documentos ou páginas. + * + *

Os tipos disponíveis são:

+ *
    + *
  • {@link #Texto} - Bloco de texto.
  • + *
  • {@link #Imagem} - Bloco contendo uma imagem.
  • + *
  • {@link #Tabela} - Bloco contendo uma tabela de dados.
  • + *
+ * + *

Este enum pode ser utilizado para estruturar conteúdos dinâmicos ou formatados em sistemas de gerenciamento.

+ * + * @author Roma + */ public enum TipoBloco { + /** + * Bloco contendo texto. + */ Texto, + + /** + * Bloco contendo uma imagem. + */ Imagem, + + /** + * Bloco contendo uma tabela de dados. + */ Tabela -} +} \ No newline at end of file diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoLegislacao.java b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoLegislacao.java index 14ec4e1..1d4f3a4 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoLegislacao.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/model/enums/TipoLegislacao.java @@ -1,12 +1,62 @@ package model.enums; +/** + * Enumeração que representa os diferentes tipos de legislação existentes no ordenamento jurídico. + * + *

Os tipos disponíveis são:

+ *
    + *
  • {@link #LeisOrdinarias} - Leis que tratam de matérias gerais, aprovadas por maioria simples.
  • + *
  • {@link #LeisComplementares} - Leis que complementam a Constituição, exigindo quórum qualificado para aprovação.
  • + *
  • {@link #LeisDelegadas} - Leis elaboradas pelo Presidente da República mediante autorização do Congresso Nacional.
  • + *
  • {@link #MedidasProvisorias} - Normas com força de lei editadas pelo Presidente em situações de relevância e urgência.
  • + *
  • {@link #EmendasConstitucionais} - Alterações no texto da Constituição.
  • + *
  • {@link #DecretosLegislativos} - Atos normativos de competência exclusiva do Poder Legislativo.
  • + *
  • {@link #Resolucoes} - Atos normativos geralmente utilizados para regulamentar assuntos internos dos órgãos legislativos.
  • + *
  • {@link #Portaria} - Ato administrativo que regulamenta a aplicação de leis e normas, geralmente emitido por ministros ou secretários.
  • + *
+ * + *

Este enum pode ser utilizado para classificar documentos, normas ou processos legislativos em sistemas jurídicos ou administrativos.

+ * + * @author Roma + */ public enum TipoLegislacao { + /** + * Leis ordinárias, aprovadas por maioria simples, que tratam de matérias gerais. + */ LeisOrdinarias, + + /** + * Leis complementares que exigem quórum qualificado e complementam a Constituição. + */ LeisComplementares, + + /** + * Leis delegadas elaboradas pelo Presidente com autorização do Congresso Nacional. + */ LeisDelegadas, + + /** + * Medidas provisórias editadas pelo Presidente em casos de relevância e urgência. + */ MedidasProvisorias, + + /** + * Emendas constitucionais que modificam o texto da Constituição. + */ EmendasConstitucionais, + + /** + * Decretos legislativos, atos normativos exclusivos do Poder Legislativo. + */ DecretosLegislativos, + + /** + * Resoluções que regulamentam assuntos internos dos órgãos legislativos. + */ Resolucoes, + + /** + * Portarias administrativas emitidas por ministros, secretários ou autoridades competentes. + */ Portaria -} +} \ No newline at end of file diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/repository/DiarioOficialRepository.java b/avaliacoes/diario-oficial/parteDois/src/main/java/repository/DiarioOficialRepository.java index ffffb17..7070815 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/repository/DiarioOficialRepository.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/repository/DiarioOficialRepository.java @@ -1,29 +1,58 @@ package repository; import java.util.ArrayList; - import model.DiarioOficial; +/** + * Implementação do repositório para gerenciamento de objetos {@link DiarioOficial}. + * + *

Esta classe implementa a interface {@link Repository} e provê métodos para salvar, criar, + * apagar e buscar Diários Oficiais.

+ * + *

Os métodos atuais apenas imprimem mensagens simulando as operações.

+ * + * @author Roma + */ public class DiarioOficialRepository implements Repository { + /** + * Salva o Diário Oficial. + * + * @param obj objeto Diário Oficial a ser salvo + */ @Override public void salvar(DiarioOficial obj) { System.out.println("O Diário Oficial foi salvo com sucesso!"); } + /** + * Cria um novo Diário Oficial. + * + * @param obj objeto Diário Oficial a ser criado + */ @Override public void novo(DiarioOficial obj) { System.out.println("O Diário Oficial foi criado com sucesso!"); } + /** + * Apaga um Diário Oficial. + * + * @param obj objeto Diário Oficial a ser apagado + */ @Override public void apagar(DiarioOficial obj) { System.out.println("O Diário Oficial foi apagado com sucesso!"); } + /** + * Busca e retorna uma lista de Diários Oficiais. + * + * @return uma lista de Diários Oficiais (atualmente vazia) + */ @Override public ArrayList buscar() { return new ArrayList(); } - } + diff --git a/avaliacoes/diario-oficial/parteDois/src/main/java/repository/PublicacaoRepository.java b/avaliacoes/diario-oficial/parteDois/src/main/java/repository/PublicacaoRepository.java index 2b3fd2f..5ee7e1f 100644 --- a/avaliacoes/diario-oficial/parteDois/src/main/java/repository/PublicacaoRepository.java +++ b/avaliacoes/diario-oficial/parteDois/src/main/java/repository/PublicacaoRepository.java @@ -1,26 +1,55 @@ package repository; import java.util.ArrayList; - import model.Publicacao; +/** + * Implementação do repositório para gerenciamento de objetos {@link Publicacao}. + * + *

Esta classe implementa a interface {@link Repository} e provê métodos para salvar, criar, + * apagar e buscar publicações.

+ * + *

Os métodos atualmente apenas imprimem mensagens simulando as operações.

+ * + * @author Roma + */ public class PublicacaoRepository implements Repository { + /** + * Salva a publicação. + * + * @param obj objeto publicação a ser salvo + */ @Override public void salvar(Publicacao obj) { System.out.println("O Diário Oficial foi Registrado com Sucesso."); } + /** + * Cria uma nova publicação. + * + * @param obj objeto publicação a ser criado + */ @Override public void novo(Publicacao obj) { System.out.println("O Diário Oficial foi Criado com Sucesso."); } + /** + * Apaga uma publicação. + * + * @param obj objeto publicação a ser apagado + */ @Override public void apagar(Publicacao obj) { System.out.println("O Diário Oficial foi Apagado com Sucesso."); } + /** + * Busca e retorna uma lista de publicações. + * + * @return uma lista de publicações (atualmente vazia) + */ @Override public ArrayList buscar() { return new ArrayList(); diff --git a/avaliacoes/diario-oficial/parteUm/src/main/java/MyProgram.java b/avaliacoes/diario-oficial/parteUm/src/main/java/MyProgram.java index b6433d0..45a486d 100644 --- a/avaliacoes/diario-oficial/parteUm/src/main/java/MyProgram.java +++ b/avaliacoes/diario-oficial/parteUm/src/main/java/MyProgram.java @@ -10,125 +10,143 @@ public class MyProgram { - public static void main(String[] args) { - Orgao orgaoPrefeitura = new Orgao(1, "PREFEITURA MUNICIPAL DE NITERÓI", Poder.Legislativo); - - ArrayList publicaçõesDo1 = new ArrayList(); - - ArrayList blocosPublicacaoUm = MyProgram.getBlocosPublicaçãoUm(); - ArrayList blocosPublicacaoDois = MyProgram.getBlocosPublicaçãoDois(); - - Publicacao publicação1 = new Publicacao("LEI Nº 3824 DE 31 DE OUTUBRO DE 2023", null, null, - orgaoPrefeitura, - blocosPublicacaoUm); - Publicacao publicação2 = new Publicacao("LEI Nº 3825 DE 31 DE OUTUBRO DE 2023", null, null, - orgaoPrefeitura, - blocosPublicacaoDois); - - publicaçõesDo1.add(publicação1); - publicaçõesDo1.add(publicação2); - - DiarioOficial doNiteroi = new DiarioOficial("30 de outubro de 2023", 1, "Diário Oficial", - Esfera.Municipal, - publicaçõesDo1); - - doNiteroi.imprimirDiario(); - - } - - public static ArrayList getBlocosPublicaçãoUm() { - ArrayList blocos = new ArrayList(); - - Bloco bloco1 = new Bloco( - "Declara o Grêmio Recreativo Escola de Samba Souza Soares como Patrimônio Cultural Imaterial do Município de Niterói.", - TipoBloco.Texto, 1); - blocos.add(bloco1); - - Bloco bloco2 = new Bloco("A CÂMARA MUNICIPAL DE NITERÓI DECRETA E EU SANCIONO A SEGUINTE LEI:", - TipoBloco.Texto, - 2); - blocos.add(bloco2); - - Bloco bloco3 = new Bloco( - "Art. 1º- Fica reconhecido e declarado como patrimônio cultural imaterial do Município de Niterói o Grêmio Recreativo Escola de Samba Souza Soares.", - TipoBloco.Texto, 3); - blocos.add(bloco3); - - Bloco bloco4 = new Bloco("Art. 2º. Esta Lei entra em vigor na data da sua publicação.", TipoBloco.Texto, - 4); - blocos.add(bloco4); - - Bloco bloco5 = new Bloco("PREFEITURA MUNICIPAL DE NITERÓI, EM 31 DE OUTUBRO DE 2023.", TipoBloco.Texto, - 5); - blocos.add(bloco5); - - Bloco bloco6 = new Bloco("AXEL GRAEL- PREFEITO", TipoBloco.Texto, 6); - blocos.add(bloco6); - - Bloco bloco7 = new Bloco("PROJETO DE LEI Nº. 099/2022- AUTOR: CARLOS OTÁVIO DIAS VAZ – CASOTA", - TipoBloco.Texto, - 7); - blocos.add(bloco7); - - Bloco bloco8 = new Bloco("COAUTORES: ANDERSON PIPICO, BENNY BRIOLLY E LEONRDO GIORDANO", - TipoBloco.Texto, 8); - blocos.add(bloco8); - - return blocos; - } - - public static ArrayList getBlocosPublicaçãoDois() { - ArrayList blocos = new ArrayList(); - - Bloco bloco1Publi2 = new Bloco( - "Dispõe sobre o Polo Gastronômico no Bairro Barreto e dá outras providências.", - TipoBloco.Texto, 1); - blocos.add(bloco1Publi2); - - Bloco bloco2Publi2 = new Bloco("A CÂMARA MUNICIPAL DE NITERÓI DECRETA E EU SANCIONO A SEGUINTE LEI:", - TipoBloco.Texto, 2); - blocos.add(bloco2Publi2); - - Bloco bloco3Publi2 = new Bloco( - "Art. 1º- Altera o inciso VII do Parágrafo único do Art. 110 da Lei 2624 de 29 de Dezembro de 2008 - Código de Posturas do Município de Niterói, que passa a ter a seguinte redação:", - TipoBloco.Texto, 3); - blocos.add(bloco3Publi2); - - Bloco bloco4Publi2 = new Bloco("“Art. 110. .....................", TipoBloco.Texto, 4); - blocos.add(bloco4Publi2); - - Bloco bloco5Publi2 = new Bloco( - "Parágrafo único. Ficam definidos na forma do caput deste artigo os seguintes logradouros abaixo, podendo o Poder Executivo criar, por Decreto, novos locais de interesse turístico, cultural ou gastronômico:", - TipoBloco.Texto, 5); - blocos.add(bloco5Publi2); - - Bloco bloco6Publi2 = new Bloco("(...)", TipoBloco.Texto, 6); - blocos.add(bloco6Publi2); - - Bloco bloco7Publi2 = new Bloco( - "VII – a Rua Dr. Luiz Palmier, no trecho entre o nº 344 ao 446, a Rua Galvão próximo ao n° 135, Rua Guimarães Junior próximo ao n° 15 e o entorno da Praça Dr. Flávio Palmier da Veiga no Barreto.", - TipoBloco.Texto, 7); - blocos.add(bloco7Publi2); - - Bloco bloco8Publi2 = new Bloco( - "Art. 2º Esta Lei poderá ser regulamentada para garantir sua fiel execução.", - TipoBloco.Texto, 8); - blocos.add(bloco8Publi2); - - Bloco bloco9Publi2 = new Bloco("Art. 3º. Esta Lei entra em vigor na data de sua publicação.", - TipoBloco.Texto, - 9); - blocos.add(bloco9Publi2); - - Bloco bloco10Publi2 = new Bloco("PREFEITURA MUNICIPAL DE NITERÓI, EM 31 DE OUTUBRO DE 2023.", - TipoBloco.Texto, - 10); - blocos.add(bloco10Publi2); - - Bloco bloco11Publi2 = new Bloco("AXEL GRAEL- PREFEITO ", TipoBloco.Texto, 11); - blocos.add(bloco11Publi2); - - return blocos; - } + /** + * Método principal que executa o programa. + * Cria órgãos, publicações com blocos de texto e monta um Diário Oficial para impressão. + * + * @param args argumentos da linha de comando (não utilizados) + */ + public static void main(String[] args) { + Orgao orgaoPrefeitura = new Orgao(1, "PREFEITURA MUNICIPAL DE NITERÓI", Poder.Legislativo); + + ArrayList publicaçõesDo1 = new ArrayList(); + + ArrayList blocosPublicacaoUm = MyProgram.getBlocosPublicaçãoUm(); + ArrayList blocosPublicacaoDois = MyProgram.getBlocosPublicaçãoDois(); + + Publicacao publicação1 = new Publicacao("LEI Nº 3824 DE 31 DE OUTUBRO DE 2023", null, null, + orgaoPrefeitura, + blocosPublicacaoUm); + Publicacao publicação2 = new Publicacao("LEI Nº 3825 DE 31 DE OUTUBRO DE 2023", null, null, + orgaoPrefeitura, + blocosPublicacaoDois); + + publicaçõesDo1.add(publicação1); + publicaçõesDo1.add(publicação2); + + DiarioOficial doNiteroi = new DiarioOficial("30 de outubro de 2023", 1, "Diário Oficial", + Esfera.Municipal, + publicaçõesDo1); + + doNiteroi.imprimirDiario(); + + } + + /** + * Cria e retorna uma lista de blocos que compõem a primeira publicação. + * Cada bloco representa um trecho de texto da publicação. + * + * @return lista de blocos da publicação um + */ + public static ArrayList getBlocosPublicaçãoUm() { + ArrayList blocos = new ArrayList(); + + Bloco bloco1 = new Bloco( + "Declara o Grêmio Recreativo Escola de Samba Souza Soares como Patrimônio Cultural Imaterial do Município de Niterói.", + TipoBloco.Texto, 1); + blocos.add(bloco1); + + Bloco bloco2 = new Bloco("A CÂMARA MUNICIPAL DE NITERÓI DECRETA E EU SANCIONO A SEGUINTE LEI:", + TipoBloco.Texto, + 2); + blocos.add(bloco2); + + Bloco bloco3 = new Bloco( + "Art. 1º- Fica reconhecido e declarado como patrimônio cultural imaterial do Município de Niterói o Grêmio Recreativo Escola de Samba Souza Soares.", + TipoBloco.Texto, 3); + blocos.add(bloco3); + + Bloco bloco4 = new Bloco("Art. 2º. Esta Lei entra em vigor na data da sua publicação.", TipoBloco.Texto, + 4); + blocos.add(bloco4); + + Bloco bloco5 = new Bloco("PREFEITURA MUNICIPAL DE NITERÓI, EM 31 DE OUTUBRO DE 2023.", TipoBloco.Texto, + 5); + blocos.add(bloco5); + + Bloco bloco6 = new Bloco("AXEL GRAEL- PREFEITO", TipoBloco.Texto, 6); + blocos.add(bloco6); + + Bloco bloco7 = new Bloco("PROJETO DE LEI Nº. 099/2022- AUTOR: CARLOS OTÁVIO DIAS VAZ – CASOTA", + TipoBloco.Texto, + 7); + blocos.add(bloco7); + + Bloco bloco8 = new Bloco("COAUTORES: ANDERSON PIPICO, BENNY BRIOLLY E LEONRDO GIORDANO", + TipoBloco.Texto, 8); + blocos.add(bloco8); + + return blocos; + } + + /** + * Cria e retorna uma lista de blocos que compõem a segunda publicação. + * Cada bloco representa um trecho de texto da publicação. + * + * @return lista de blocos da publicação dois + */ + public static ArrayList getBlocosPublicaçãoDois() { + ArrayList blocos = new ArrayList(); + + Bloco bloco1Publi2 = new Bloco( + "Dispõe sobre o Polo Gastronômico no Bairro Barreto e dá outras providências.", + TipoBloco.Texto, 1); + blocos.add(bloco1Publi2); + + Bloco bloco2Publi2 = new Bloco("A CÂMARA MUNICIPAL DE NITERÓI DECRETA E EU SANCIONO A SEGUINTE LEI:", + TipoBloco.Texto, 2); + blocos.add(bloco2Publi2); + + Bloco bloco3Publi2 = new Bloco( + "Art. 1º- Altera o inciso VII do Parágrafo único do Art. 110 da Lei 2624 de 29 de Dezembro de 2008 - Código de Posturas do Município de Niterói, que passa a ter a seguinte redação:", + TipoBloco.Texto, 3); + blocos.add(bloco3Publi2); + + Bloco bloco4Publi2 = new Bloco("“Art. 110. .....................", TipoBloco.Texto, 4); + blocos.add(bloco4Publi2); + + Bloco bloco5Publi2 = new Bloco( + "Parágrafo único. Ficam definidos na forma do caput deste artigo os seguintes logradouros abaixo, podendo o Poder Executivo criar, por Decreto, novos locais de interesse turístico, cultural ou gastronômico:", + TipoBloco.Texto, 5); + blocos.add(bloco5Publi2); + + Bloco bloco6Publi2 = new Bloco("(...)", TipoBloco.Texto, 6); + blocos.add(bloco6Publi2); + + Bloco bloco7Publi2 = new Bloco( + "VII – a Rua Dr. Luiz Palmier, no trecho entre o nº 344 ao 446, a Rua Galvão próximo ao n° 135, Rua Guimarães Junior próximo ao n° 15 e o entorno da Praça Dr. Flávio Palmier da Veiga no Barreto.", + TipoBloco.Texto, 7); + blocos.add(bloco7Publi2); + + Bloco bloco8Publi2 = new Bloco( + "Art. 2º Esta Lei poderá ser regulamentada para garantir sua fiel execução.", + TipoBloco.Texto, 8); + blocos.add(bloco8Publi2); + + Bloco bloco9Publi2 = new Bloco("Art. 3º. Esta Lei entra em vigor na data de sua publicação.", + TipoBloco.Texto, + 9); + blocos.add(bloco9Publi2); + + Bloco bloco10Publi2 = new Bloco("PREFEITURA MUNICIPAL DE NITERÓI, EM 31 DE OUTUBRO DE 2023.", + TipoBloco.Texto, + 10); + blocos.add(bloco10Publi2); + + Bloco bloco11Publi2 = new Bloco("AXEL GRAEL- PREFEITO ", TipoBloco.Texto, 11); + blocos.add(bloco11Publi2); + + return blocos; + } } diff --git a/avaliacoes/diario-oficial/parteUm/src/main/java/model/Bloco.java b/avaliacoes/diario-oficial/parteUm/src/main/java/model/Bloco.java index 15d6b58..a60b39c 100644 --- a/avaliacoes/diario-oficial/parteUm/src/main/java/model/Bloco.java +++ b/avaliacoes/diario-oficial/parteUm/src/main/java/model/Bloco.java @@ -2,26 +2,47 @@ import model.enums.TipoBloco; +/** + * Representa um bloco de conteúdo em uma publicação do Diário Oficial. + * Pode ser texto, imagem, tabela, etc., com uma ordem para exibição. + */ public class Bloco { private String texto; private TipoBloco tipo; private int ordem; + /** + * Construtor padrão, inicializa texto vazio. + */ public Bloco() { this.texto = ""; } + /** + * Construtor que define apenas o texto. + * + * @param texto conteúdo textual do bloco + */ public Bloco(String texto) { this.texto = texto; } + /** + * Construtor completo com texto, tipo e ordem. + * + * @param texto conteúdo do bloco + * @param tipo tipo do bloco (Texto, Imagem, Tabela, etc.) + * @param ordem ordem sequencial do bloco na publicação + */ public Bloco(String texto, TipoBloco tipo, int ordem) { this.texto = texto; this.tipo = tipo; this.ordem = ordem; } + // Getters e Setters + public int getOrdem() { return ordem; } diff --git a/avaliacoes/diario-oficial/parteUm/src/main/java/model/DiarioOficial.java b/avaliacoes/diario-oficial/parteUm/src/main/java/model/DiarioOficial.java index d4133be..42efde0 100644 --- a/avaliacoes/diario-oficial/parteUm/src/main/java/model/DiarioOficial.java +++ b/avaliacoes/diario-oficial/parteUm/src/main/java/model/DiarioOficial.java @@ -1,9 +1,12 @@ package model; import java.util.ArrayList; - import model.enums.Esfera; +/** + * Representa um Diário Oficial contendo várias publicações, + * com informações sobre data, número, título e esfera. + */ public class DiarioOficial { private String titulo; @@ -12,20 +15,42 @@ public class DiarioOficial { private String data; private ArrayList publicações; + /** + * Construtor padrão, inicializa título vazio e lista vazia de publicações. + */ public DiarioOficial() { this.titulo = ""; this.publicações = new ArrayList(); } + /** + * Construtor que define apenas o título. + * + * @param titulo título do Diário Oficial + */ public DiarioOficial(String titulo) { this.titulo = titulo; this.publicações = new ArrayList(); } + /** + * Construtor que inicializa com lista de publicações. + * + * @param publicações lista de publicações do Diário Oficial + */ public DiarioOficial(ArrayList publicações) { this.publicações = publicações; } + /** + * Construtor completo com todos os atributos principais. + * + * @param data data do Diário Oficial + * @param numero número do Diário Oficial + * @param titulo título do Diário Oficial + * @param esfera esfera do Diário Oficial (Municipal, Estadual, Federal) + * @param publicações lista de publicações contidas no Diário Oficial + */ public DiarioOficial(String data, int numero, String titulo, Esfera esfera, ArrayList publicações) { this.data = data; this.numero = numero; @@ -34,6 +59,8 @@ public DiarioOficial(String data, int numero, String titulo, Esfera esfera, Arra this.publicações = publicações; } + // Getters e Setters + public String getTitulo() { return titulo; } @@ -74,26 +101,38 @@ public void setData(String data) { this.publicações = publicações; } + /** + * Adiciona uma publicação ao Diário Oficial. + * + * @param publicação publicação a ser adicionada + */ public void addPublicação(Publicacao publicação) { this.publicações.add(publicação); } + /** + * Remove uma publicação do Diário Oficial. + * Se a lista estiver vazia, avisa que não é possível remover. + * + * @param publicação publicação a ser removida + */ public void deletePublicação(Publicacao publicação) { - int arraysize = this.publicações.size(); - if (arraysize == 0) { - System.out.println("Lista vazia, não foi possivel deletar."); + if (this.publicações.isEmpty()) { + System.out.println("Lista vazia, não foi possível deletar."); } else { this.publicações.remove(publicação); } } + /** + * Imprime o conteúdo do Diário Oficial, incluindo título, data e todas as publicações. + */ public void imprimirDiario() { System.out.println(this.titulo); System.out.println(this.data); for (Publicacao p : this.getPublicações()) { - System.out.println(""); + System.out.println(); p.imprimirPublicação(); } } - } diff --git a/avaliacoes/diario-oficial/parteUm/src/main/java/model/Orgao.java b/avaliacoes/diario-oficial/parteUm/src/main/java/model/Orgao.java index 56c099b..0d3b221 100644 --- a/avaliacoes/diario-oficial/parteUm/src/main/java/model/Orgao.java +++ b/avaliacoes/diario-oficial/parteUm/src/main/java/model/Orgao.java @@ -2,37 +2,77 @@ import model.enums.Poder; +/** + * Representa um órgão público, com identificador, nome e poder a que pertence. + */ public class Orgao { private int id; private String nomeOrg; private Poder poder; + /** + * Construtor da classe Orgao. + * + * @param id identificador único do órgão + * @param nomeOrg nome do órgão + * @param poder poder ao qual o órgão está vinculado (Executivo, Legislativo, Judiciário) + */ public Orgao(int id, String nomeOrg, Poder poder) { this.id = id; this.nomeOrg = nomeOrg; this.poder = poder; } + /** + * Retorna o poder ao qual o órgão está vinculado. + * + * @return o poder do órgão + */ public Poder getPoder() { return poder; } + /** + * Define o poder ao qual o órgão está vinculado. + * + * @param poder o poder a ser definido + */ public void setPoder(Poder poder) { this.poder = poder; } + /** + * Retorna o nome do órgão. + * + * @return nome do órgão + */ public String getNomeOrg() { return nomeOrg; } + /** + * Define o nome do órgão. + * + * @param nomeOrg nome do órgão + */ public void setNomeOrg(String nomeOrg) { this.nomeOrg = nomeOrg; } + /** + * Retorna o identificador do órgão. + * + * @return id do órgão + */ public int getId() { return id; } + /** + * Define o identificador do órgão. + * + * @param id identificador a ser definido + */ public void setId(int id) { this.id = id; } diff --git a/avaliacoes/diario-oficial/parteUm/src/main/java/model/Publicacao.java b/avaliacoes/diario-oficial/parteUm/src/main/java/model/Publicacao.java index 27fef47..e0dc908 100644 --- a/avaliacoes/diario-oficial/parteUm/src/main/java/model/Publicacao.java +++ b/avaliacoes/diario-oficial/parteUm/src/main/java/model/Publicacao.java @@ -2,6 +2,9 @@ import java.util.ArrayList; +/** + * Representa uma publicação oficial, composta por um título, órgão responsável e uma lista de blocos de conteúdo. + */ public class Publicacao { private String tituloPrincipal; @@ -10,17 +13,34 @@ public class Publicacao { private Orgao orgao; private ArrayList blocos; + /** + * Construtor padrão, inicializa a lista de blocos vazia. + */ public Publicacao() { this.blocos = new ArrayList(); } + /** + * Construtor que inicializa a publicação com uma lista de blocos. + * + * @param blocos lista de blocos que compõem o conteúdo da publicação + */ public Publicacao(ArrayList blocos) { this.blocos = blocos; } - public Publicacao(String tituloPrincial, String tituloAuxiliar, String conteudo, Orgao orgao, + /** + * Construtor completo da publicação. + * + * @param tituloPrincipal título principal da publicação + * @param tituloAuxiliar título auxiliar da publicação (opcional) + * @param conteudo conteúdo textual geral da publicação (pode ser nulo se usar blocos) + * @param orgao órgão responsável pela publicação + * @param blocos lista de blocos que compõem o conteúdo da publicação + */ + public Publicacao(String tituloPrincipal, String tituloAuxiliar, String conteudo, Orgao orgao, ArrayList blocos) { - this.tituloPrincipal = tituloPrincial; + this.tituloPrincipal = tituloPrincipal; this.tituloAuxiliar = tituloAuxiliar; this.conteudo = conteudo; this.orgao = orgao; @@ -67,6 +87,11 @@ public void setBlocos(ArrayList blocos) { this.blocos = blocos; } + /** + * Imprime o conteúdo da publicação no console. + * Atualmente, apenas blocos do tipo Texto são exibidos. + * Para blocos do tipo Imagem e Tabela, será necessário implementar a exibição adequada. + */ public void imprimirPublicação() { for (Bloco b : this.getBlocos()) { switch (b.getTipo()) { @@ -74,9 +99,11 @@ public void setBlocos(ArrayList blocos) { System.out.println(b.getTexto()); break; case Imagem: - // Implementar um mecanismo para exibir imagens. + // TODO: Implementar exibição de imagens + break; case Tabela: - // Implementar um mecanismo para exibir tabelas. + // TODO: Implementar exibição de tabelas + break; } } } diff --git a/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/Esfera.java b/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/Esfera.java index cb68041..3a1363f 100644 --- a/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/Esfera.java +++ b/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/Esfera.java @@ -1,7 +1,15 @@ package model.enums; +/** + * Enumeração que representa as esferas de governo. + */ public enum Esfera { + /** Governo Estadual */ Estadual, + + /** Governo Municipal */ Municipal, + + /** Governo Federal */ Federal } diff --git a/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/Poder.java b/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/Poder.java index 94fa229..153d8f0 100644 --- a/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/Poder.java +++ b/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/Poder.java @@ -1,8 +1,18 @@ package model.enums; +/** + * Enumeração que representa os poderes do Estado. + */ public enum Poder { + /** Poder Executivo */ Executivo, + + /** Poder Legislativo */ Legislativo, + + /** Poder Judiciário (atenção à grafia, aqui está "Juciciario") */ Juciciario, + + /** Ministério Público */ MinisterioPublico } diff --git a/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/TipoBloco.java b/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/TipoBloco.java index b7a8e54..e927f57 100644 --- a/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/TipoBloco.java +++ b/avaliacoes/diario-oficial/parteUm/src/main/java/model/enums/TipoBloco.java @@ -1,7 +1,16 @@ package model.enums; +/** + * Enumeração que representa os tipos de blocos que podem existir em uma publicação. + * Pode ser um bloco de texto, imagem ou tabela. + */ public enum TipoBloco { + /** Bloco contendo conteúdo textual */ Texto, + + /** Bloco contendo uma imagem */ Imagem, + + /** Bloco contendo uma tabela */ Tabela } diff --git a/debug.log b/debug.log new file mode 100644 index 0000000..935d05b --- /dev/null +++ b/debug.log @@ -0,0 +1 @@ +[0620/014152.700:ERROR:registration_protocol_win.cc(108)] CreateFile: O sistema não pode encontrar o arquivo especificado. (0x2)