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
014package com.ibm.rational.wvcm.stp.cc;
015
016import 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 */
027public 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}