/* * Biblioteca de código Java * Desenvolvida por Diego Tadeu e Jose Renato */ package jrdis.gen.objeto; import java.util.Collection; /** * UtilidadesIObjetoComEstados implementa algumas operacoes que sao * frequentemente executadas em objetos do tipo IObjetoComEstados. * * @author Diego Tadeu e Jose Renato */ public final class UtilidadesIObjetoComEstados { public void clonarDadosColecao( Collection colecaoOrigem, Collection colecaoDestino ) { if ( null == colecaoOrigem || null == colecaoDestino ) { throw new IllegalArgumentException( "Colecao origem e Colecao destino não podem ser nulos." ); } colecaoDestino.clear(); for ( Object object : colecaoOrigem ) { IObjetoComEstados objeto = (IObjetoComEstados) object; colecaoDestino.add( objeto.clone() ); } } /** * * Exemplo de utilizacao: * * try * { * getUtilidadesIObjeto().getEstadoColecao( cursos ); * } * catch(Exception e) * { * throw new IllegalAccessError( e.getMessage() ); * } * * return ( null ); * * @param colecao * @return * @throws objeto.UtilidadesIObjetoComEstadosException */ public IObjetoComEstados.EstadoObjeto getEstadoColecao( Collection colecao ) throws UtilidadesIObjetoComEstadosException { if ( null == colecao ) { throw new IllegalArgumentException( "Objeto colecao não pode ser nulo." ); } throw new UtilidadesIObjetoComEstadosException( "Uma colecao não pode possuir um único estado.\n" + "Como e uma colecao de objetos, os estados devem ser" + " obtidos item a item." ); } /** * Exemplo de utilizacao * try * { * getUtilidadesIObjeto().setEstadoColecao( cursos, estado ); * } * catch(Exception e) * { * throw new IllegalAccessError( e.getMessage() ); * } * * @param colecao * @param estado * @throws objeto.UtilidadesIObjetoComEstadosException */ public void setEstadoColecao( Collection colecao, IObjetoComEstados.EstadoObjeto estado ) throws UtilidadesIObjetoComEstadosException { if ( null == colecao ) { throw new IllegalArgumentException( "Objeto colecao não pode ser nulo." ); } throw new UtilidadesIObjetoComEstadosException( "Uma colecao não pode possuir um único estado.\n" + "Como e uma colecao de objetos, os estados devem ser" + " definidos item a item." ); } } // Fim da classe UtilidadesIObjetoComEstados