001    /*
002    * file CcViewAccessInfo.java
003    *
004    * Licensed Materials - Property of IBM
005    * Restricted Materials of IBM
006    * 
007    * com.ibm.rational.wvcm.stp.cc.CcViewAccessInfo
008    *
009    * (C) Copyright IBM Corporation 2008.  All Rights Reserved. 
010    * Note to U.S. Government Users Restricted Rights:  Use, duplication or  
011    * disclosure restricted by GSA ADP  Schedule Contract with IBM Corp. 
012    */
013    
014    package com.ibm.rational.wvcm.stp.cc;
015    
016    import java.util.Date;
017    
018    /**
019     * A ClearCase view has a set of defined events which record
020     * users access to it, including view "created" event, view
021     * "last modified" event, view "last accessed" event, view "last
022     * private data read" event, view "last private data update" event,
023     * and view "last config spec update" event.  CcViewAccessInfo provides
024     * an interface for retrieving the set of information associated with
025     * each of these events.
026     */
027    public interface CcViewAccessInfo
028    {
029        /**
030         * Get the view "created" event info.
031         * 
032         * @return  Info related to view creation.
033         */
034        public EventInfo
035        getCreatedEvent();
036    
037        /**
038         * Get the view "last modified" event info.
039         * 
040         * @return  Info related to the view "last modified" event.
041         */
042        public EventInfo
043        getLastModifiedEvent();
044    
045        /**
046         * Get the view "last accessed" event info.
047         * 
048         * @return  Info related to the view "last accessed" event.
049         */
050        public EventInfo
051        getLastAccessedEvent();
052    
053        /**
054         * Get the view "last private data read" event info.
055         * 
056         * @return  Info related to the view "last private data read" event.
057         */
058        public EventInfo
059        getLastPrivateDataReadEvent();
060    
061        /**
062         * Get the view "last private data update" event info.
063         * 
064         * @return  Info related to the view "last private data update" event.
065         */
066        public EventInfo
067        getLastPrivateDataUpdateEvent();
068    
069        /**
070         * Get the view "last config spec update" event info.
071         * 
072         * @return  Info related to the view "last config spec update" event.
073         */
074        public EventInfo
075        getLastConfigSpecUpdateEvent();
076    
077        /**
078         * EventInfo provides an interface for retrieving
079         * information related to a particular access event for a
080         * ClearCase view.  This information includes the event date,
081         * user, group, and host.
082         */
083        public interface EventInfo
084        {
085            /**
086             * Get the date on which the event represented by this EventInfo object
087             * occurred.
088             * 
089             * @return date of event
090             */
091            public Date
092            getDate();
093            
094            /**
095             * Get the name of the user associated with the event represented by
096             * this EventInfo object.
097             * 
098             * @return name of user associated with the event
099             */
100            public String
101            getUserName();
102            
103            /**
104             * Get the group of the user associated with the event represented by
105             * this EventInfo object.
106             * 
107             * @return group of user associated with the event
108             */
109            public String
110            getGroupName();
111            
112            /**
113             * Get the host name associated with the event represented by
114             * this EventInfo object.
115             * 
116             * @return name of the host associated with the event
117             */
118            public String
119            getHostName();
120        }
121    }