001    /*
002     * ----------------------------------------------------------------------
003     * Copyright (C) 2009 Enrique Lara (k957@68k.org)
004     *
005     * TinLizard is free software; you can redistribute it and/or
006     * modify it under the terms of the GNU Lesser General Public License
007     * as published by the Free Software Foundation; either version 3.0
008     * of the License, or (at your option) any later version.
009     *
010     * TinLizard is distributed in the hope that it will be useful,
011     * but WITHOUT ANY WARRANTY; without even the implied warranty of
012     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
013     * GNU Lesser General Public License for more details.
014     *
015     * You should have received a copy of the GNU Lesser General Public License
016     * along with TinLizard. If not, see http://www.gnu.org/licenses/.
017     * ----------------------------------------------------------------------
018     */
019    package tinlizard.dao.jpa;
020    
021    import java.util.Date;
022    
023    /**
024     * Objects that can be persisted to a Database.
025     */
026    public interface Persistable {
027        Integer getId();
028    
029        String getName();
030    
031        Date getCreated();
032    
033        String getCreatedBy();
034    
035        Date getLastModified();
036    
037        String getLastModifiedBy();
038    
039        void setId(final Integer id);
040    
041        void setName(final String name);
042    
043        void setCreated(final Date created);
044    
045        void setCreatedBy(final String createdBy);
046    
047        void setLastModified(final Date lastModified);
048    
049        void setLastModifiedBy(final String lastModifiedBy);
050    }