001    package com.mockrunner.mock.jdbc;
002    
003    import java.sql.SQLException;
004    import java.sql.Savepoint;
005    
006    /**
007     * Mock implementation of <code>Savepoint</code>.
008     */
009    public class MockSavepoint implements Savepoint
010    {
011        private static int idCount = 0;
012        
013        private String name;
014        private int id;
015        private int number;
016        private boolean released;
017        private boolean rolledback;
018        
019        public MockSavepoint(int number)
020        {
021            this("", number);
022        }
023        
024        public MockSavepoint(String name, int number)
025        {
026            this.name = name;
027            this.id = idCount++;
028            this.number = number;
029            released = false;
030            rolledback = false;
031        }
032        
033        public int getSavepointId() throws SQLException
034        {
035            return id;
036        }
037    
038        public String getSavepointName() throws SQLException
039        {
040            return name;
041        }
042        
043        public int getNumber()
044        {
045            return number;
046        }
047     
048        public boolean isReleased()
049        {
050            return released;
051        }
052        
053        /**
054         * @deprecated use {@link #isRolledBack}
055         */
056        public boolean isRollbacked()
057        {
058            return isRolledBack();
059        }
060    
061        public boolean isRolledBack()
062        {
063            return rolledback;
064        }
065    
066        public void setReleased(boolean released)
067        {
068            this.released = released;
069        }
070        
071        /**
072         * @deprecated use {@link #setRolledBack}
073         */
074        public void setRollbacked(boolean rollbacked)
075        {
076            setRolledBack(rollbacked);
077        }
078    
079        public void setRolledBack(boolean rollbacked)
080        {
081            this.rolledback = rollbacked;
082        }
083    }