You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by le...@apache.org on 2002/09/06 04:10:13 UTC

cvs commit: jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces InstrumentDescriptor.java InstrumentManagerClient.java InstrumentSampleDescriptor.java InstrumentSampleSnapshot.java InstrumentableDescriptor.java

leif        2002/09/05 19:10:13

  Modified:    instrument-manager/src/java/org/apache/excalibur/instrument/manager
                        AbstractInstrumentSample.java
                        DefaultInstrumentManager.java
                        InstrumentDescriptorLocalImpl.java
                        InstrumentManagerClientLocalImpl.java
                        InstrumentProxy.java InstrumentSample.java
                        InstrumentSampleDescriptorLocalImpl.java
                        InstrumentableDescriptorLocalImpl.java
                        InstrumentableProxy.java
               instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces
                        InstrumentDescriptor.java
                        InstrumentManagerClient.java
                        InstrumentSampleDescriptor.java
                        InstrumentSampleSnapshot.java
                        InstrumentableDescriptor.java
  Log:
  Add state versions to the nodes of the instrument tree to make it possible to be
  more efficient about discovering changes from a client.
  
  Revision  Changes    Path
  1.2       +38 -3     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/AbstractInstrumentSample.java
  
  Index: AbstractInstrumentSample.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/AbstractInstrumentSample.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractInstrumentSample.java	14 Aug 2002 14:58:21 -0000	1.1
  +++ AbstractInstrumentSample.java	6 Sep 2002 02:10:12 -0000	1.2
  @@ -79,6 +79,9 @@
       /** Array of registered InstrumentSampleListeners. */
       private InstrumentSampleListener[] m_listeners;
       
  +    /** State Version. */
  +    private int m_stateVersion;
  +    
       /*---------------------------------------------------------------
        * Constructors
        *-------------------------------------------------------------*/
  @@ -291,7 +294,11 @@
               if ( ( m_leaseExpirationTime > 0 ) && ( !m_expired ) )
               {
                   long newLeaseExpirationTime = System.currentTimeMillis() + lease;
  -                m_leaseExpirationTime = Math.max( m_leaseExpirationTime, newLeaseExpirationTime );
  +                if ( newLeaseExpirationTime > m_leaseExpirationTime )
  +                {
  +                    m_leaseExpirationTime = newLeaseExpirationTime;
  +                    stateChanged();
  +                }
               }
               
               return m_leaseExpirationTime;
  @@ -328,11 +335,26 @@
                   m_interval,
                   m_size,
                   m_time,
  -                getHistorySnapshot() );
  +                getHistorySnapshot(),
  +                m_stateVersion );
           }
       }
       
       /**
  +     * Returns the stateVersion of the sample.  The state version will be
  +     *  incremented each time any of the configuration of the sample is
  +     *  modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the sample.
  +     */
  +    public int getStateVersion()
  +    {
  +        return m_stateVersion;
  +    }
  +    
  +    /**
        * Registers a InstrumentSampleListener with a InstrumentSample given a name.
        *
        * @param listener The listener which should start receiving updates from the
  @@ -610,6 +632,8 @@
                       registerLeasedInstrumentSample( this );
               }
           }
  +        
  +        stateChanged();
       }
       
       /*---------------------------------------------------------------
  @@ -791,6 +815,17 @@
           history[ m_size - 1] = getValueInner();
           
           return history;
  +    }
  +    
  +    /**
  +     * Called whenever the state of the sample is changed.
  +     */
  +    protected void stateChanged()
  +    {
  +        m_stateVersion++;
  +        
  +        // Propagate to the parent
  +        m_instrumentProxy.stateChanged();
       }
       
       /**
  
  
  
  1.2       +30 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/DefaultInstrumentManager.java
  
  Index: DefaultInstrumentManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/DefaultInstrumentManager.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DefaultInstrumentManager.java	14 Aug 2002 14:58:21 -0000	1.1
  +++ DefaultInstrumentManager.java	6 Sep 2002 02:10:12 -0000	1.2
  @@ -116,6 +116,9 @@
   
       /** Instrument used to profile the active thread count of the JVM. */
       private ValueInstrument m_activeThreadCountInstrument;
  +    
  +    /** State Version. */
  +    private int m_stateVersion;
   
       /*---------------------------------------------------------------
        * Constructors
  @@ -393,6 +396,8 @@
                   }
               }
           }
  +        
  +        stateChanged();
       }
   
       
  @@ -442,6 +447,20 @@
   
           return proxy.getDescriptor();
       }
  +    
  +    /**
  +     * Returns the stateVersion of the instrument manager.  The state version
  +     *  will be incremented each time any of the configuration of the
  +     *  instrument manager or any of its children is modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the instrument manager.
  +     */
  +    int getStateVersion()
  +    {
  +        return m_stateVersion;
  +    }
   
       /**
        * Returns an array of Descriptors for the Instrumentables managed by this
  @@ -549,6 +568,8 @@
               
               instrumentableProxy.loadState( instrumentableConf );
           }
  +        
  +        stateChanged();
       }
   
       /**
  @@ -1251,6 +1272,14 @@
               // Recurse to the child
               registerInstrumentableInner( child, proxy, fullChildName );
           }
  +    }
  +    
  +    /**
  +     * Called whenever the state of the instrument manager is changed.
  +     */
  +    protected void stateChanged()
  +    {
  +        m_stateVersion++;
       }
   }
   
  
  
  
  1.2       +16 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentDescriptorLocalImpl.java
  
  Index: InstrumentDescriptorLocalImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentDescriptorLocalImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentDescriptorLocalImpl.java	14 Aug 2002 14:58:21 -0000	1.1
  +++ InstrumentDescriptorLocalImpl.java	6 Sep 2002 02:10:12 -0000	1.2
  @@ -158,6 +158,21 @@
           return getInstrumentSampleDescriptorLocals();
       }
       
  +    
  +    /**
  +     * Returns the stateVersion of the instrument.  The state version will be
  +     *  incremented each time any of the configuration of the instrument or
  +     *  any of its children is modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the instrument.
  +     */
  +    public int getStateVersion()
  +    {
  +        return m_instrumentProxy.getStateVersion();
  +    }
  +    
       /*---------------------------------------------------------------
        * InstrumentDescriptorLocal Methods
        *-------------------------------------------------------------*/
  
  
  
  1.2       +14 -4     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentManagerClientLocalImpl.java
  
  Index: InstrumentManagerClientLocalImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentManagerClientLocalImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentManagerClientLocalImpl.java	14 Aug 2002 14:58:21 -0000	1.1
  +++ InstrumentManagerClientLocalImpl.java	6 Sep 2002 02:10:12 -0000	1.2
  @@ -124,8 +124,18 @@
           return m_manager.getInstrumentableDescriptors();
       }
       
  -    /*---------------------------------------------------------------
  -     * Methods
  -     *-------------------------------------------------------------*/
  +    /**
  +     * Returns the stateVersion of the instrument manager.  The state version
  +     *  will be incremented each time any of the configuration of the
  +     *  instrument manager or any of its children is modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the instrument manager.
  +     */
  +    public int getStateVersion()
  +    {
  +        return m_manager.getStateVersion();
  +    }
   }
   
  
  
  
  1.3       +35 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentProxy.java
  
  Index: InstrumentProxy.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentProxy.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InstrumentProxy.java	20 Aug 2002 03:27:12 -0000	1.2
  +++ InstrumentProxy.java	6 Sep 2002 02:10:12 -0000	1.3
  @@ -80,6 +80,9 @@
       /** The most recent value set if this is a value instrument. */
       private int m_lastValue;
       
  +    /** State Version. */
  +    private int m_stateVersion;
  +    
       /*---------------------------------------------------------------
        * Constructors
        *-------------------------------------------------------------*/
  @@ -570,6 +573,8 @@
                       "Don't know how to deal with the type: " + m_type );
               }
           }
  +        
  +        stateChanged();
       }
   
       /**
  @@ -604,6 +609,8 @@
               m_sampleArray = null;
               m_sampleDescriptorArray = null;
           }
  +        
  +        stateChanged();
       }
       
       /**
  @@ -722,6 +729,20 @@
       }
       
       /**
  +     * Returns the stateVersion of the instrument.  The state version will be
  +     *  incremented each time any of the configuration of the instrument or
  +     *  any of its children is modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the instrument.
  +     */
  +    int getStateVersion()
  +    {
  +        return m_stateVersion;
  +    }
  +    
  +    /**
        * Common code to add a listener to the list of listeners which will
        *  receive updates of the value of the Instrument.
        *
  @@ -980,6 +1001,19 @@
                   }
               }
           }
  +        
  +        stateChanged();
  +    }
  +    
  +    /**
  +     * Called whenever the state of the instrument is changed.
  +     */
  +    protected void stateChanged()
  +    {
  +        m_stateVersion++;
  +        
  +        // Propagate to the parent
  +        m_instrumentableProxy.stateChanged();
       }
       
       /**
  
  
  
  1.2       +12 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentSample.java
  
  Index: InstrumentSample.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentSample.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentSample.java	14 Aug 2002 14:58:21 -0000	1.1
  +++ InstrumentSample.java	6 Sep 2002 02:10:12 -0000	1.2
  @@ -149,6 +149,17 @@
       InstrumentSampleSnapshot getSnapshot();
       
       /**
  +     * Returns the stateVersion of the sample.  The state version will be
  +     *  incremented each time any of the configuration of the sample is
  +     *  modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the sample.
  +     */
  +    int getStateVersion();
  +    
  +    /**
        * Registers a InstrumentSampleListener with a InstrumentSample given a name.
        *
        * @param listener The listener which should start receiving updates from the
  
  
  
  1.2       +15 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentSampleDescriptorLocalImpl.java
  
  Index: InstrumentSampleDescriptorLocalImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentSampleDescriptorLocalImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentSampleDescriptorLocalImpl.java	14 Aug 2002 14:58:21 -0000	1.1
  +++ InstrumentSampleDescriptorLocalImpl.java	6 Sep 2002 02:10:12 -0000	1.2
  @@ -174,6 +174,20 @@
           return m_instrumentSample.getSnapshot();
       }
       
  +    /**
  +     * Returns the stateVersion of the sample.  The state version will be
  +     *  incremented each time any of the configuration of the sample is
  +     *  modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the sample.
  +     */
  +    public int getStateVersion()
  +    {
  +        return m_instrumentSample.getStateVersion();
  +    }
  +    
       /*---------------------------------------------------------------
        * Methods InstrumentSampleDescriptorLocal
        *-------------------------------------------------------------*/
  
  
  
  1.2       +15 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentableDescriptorLocalImpl.java
  
  Index: InstrumentableDescriptorLocalImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentableDescriptorLocalImpl.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentableDescriptorLocalImpl.java	14 Aug 2002 14:58:21 -0000	1.1
  +++ InstrumentableDescriptorLocalImpl.java	6 Sep 2002 02:10:12 -0000	1.2
  @@ -146,6 +146,20 @@
           return getInstrumentDescriptorLocals();
       }
       
  +    /**
  +     * Returns the stateVersion of the instrumentable.  The state version
  +     *  will be incremented each time any of the configuration of the
  +     *  instrumentable or any of its children is modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the instrumentable.
  +     */
  +    public int getStateVersion()
  +    {
  +        return m_instrumentableProxy.getStateVersion();
  +    }
  +    
       /*---------------------------------------------------------------
        * InstrumentableDescriptorLocal Methods
        *-------------------------------------------------------------*/
  
  
  
  1.2       +43 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentableProxy.java
  
  Index: InstrumentableProxy.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/InstrumentableProxy.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentableProxy.java	14 Aug 2002 14:58:21 -0000	1.1
  +++ InstrumentableProxy.java	6 Sep 2002 02:10:12 -0000	1.2
  @@ -72,6 +72,9 @@
   
       /** Optimized array of the InstrumentDescriptorLocals. */
       private InstrumentDescriptorLocal[] m_instrumentDescriptorArray;
  +    
  +    /** State Version. */
  +    private int m_stateVersion;
   
       /*---------------------------------------------------------------
        * Constructors
  @@ -294,6 +297,8 @@
               m_childInstrumentableProxyArray = null;
               m_childInstrumentableDescriptorArray = null;
           }
  +        
  +        stateChanged();
       }
   
       /**
  @@ -456,6 +461,8 @@
               m_instrumentProxyArray = null;
               m_instrumentDescriptorArray = null;
           }
  +        
  +        stateChanged();
       }
   
       /**
  @@ -522,6 +529,20 @@
           }
           return descriptors;
       }
  +    
  +    /**
  +     * Returns the stateVersion of the instrumentable.  The state version
  +     *  will be incremented each time any of the configuration of the
  +     *  instrumentable or any of its children is modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the instrumentable.
  +     */
  +    int getStateVersion()
  +    {
  +        return m_stateVersion;
  +    }
   
       /**
        * Updates the cached array of InstrumentProxies taking
  @@ -693,6 +714,27 @@
                   }
                   instrumentProxy.loadState( instrumentConf );
               }
  +        }
  +        
  +        stateChanged();
  +    }
  +    
  +    /**
  +     * Called whenever the state of the instrumentable is changed.
  +     */
  +    protected void stateChanged()
  +    {
  +        m_stateVersion++;
  +        
  +        // Propagate to the parent
  +        if ( m_parentInstrumentableProxy == null )
  +        {
  +            // This is a top level Instrumentable
  +            m_instrumentManager.stateChanged();
  +        }
  +        else
  +        {
  +            m_parentInstrumentableProxy.stateChanged();
           }
       }
   }
  
  
  
  1.2       +12 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentDescriptor.java
  
  Index: InstrumentDescriptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentDescriptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentDescriptor.java	14 Aug 2002 14:58:24 -0000	1.1
  +++ InstrumentDescriptor.java	6 Sep 2002 02:10:13 -0000	1.2
  @@ -110,4 +110,15 @@
        *  Instrument.
        */
       InstrumentSampleDescriptor[] getInstrumentSampleDescriptors();
  +    
  +    /**
  +     * Returns the stateVersion of the instrument.  The state version will be
  +     *  incremented each time any of the configuration of the instrument or
  +     *  any of its children is modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the instrument.
  +     */
  +    int getStateVersion();
   }
  
  
  
  1.2       +12 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentManagerClient.java
  
  Index: InstrumentManagerClient.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentManagerClient.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentManagerClient.java	14 Aug 2002 14:58:24 -0000	1.1
  +++ InstrumentManagerClient.java	6 Sep 2002 02:10:13 -0000	1.2
  @@ -78,6 +78,17 @@
       InstrumentableDescriptor[] getInstrumentableDescriptors();
       
       /**
  +     * Returns the stateVersion of the instrument manager.  The state version
  +     *  will be incremented each time any of the configuration of the
  +     *  instrument manager or any of its children is modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the instrument manager.
  +     */
  +    int getStateVersion();
  +        
  +    /**
        * Invokes garbage collection.
        */
       void invokeGarbageCollection();
  
  
  
  1.2       +12 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentSampleDescriptor.java
  
  Index: InstrumentSampleDescriptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentSampleDescriptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentSampleDescriptor.java	14 Aug 2002 14:58:24 -0000	1.1
  +++ InstrumentSampleDescriptor.java	6 Sep 2002 02:10:13 -0000	1.2
  @@ -115,5 +115,16 @@
        * @return A static snapshot of the InstrumentSample.
        */
       InstrumentSampleSnapshot getSnapshot();
  +    
  +    /**
  +     * Returns the stateVersion of the sample.  The state version will be
  +     *  incremented each time any of the configuration of the sample is
  +     *  modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the sample.
  +     */
  +    int getStateVersion();
   }
   
  
  
  
  1.2       +24 -2     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentSampleSnapshot.java
  
  Index: InstrumentSampleSnapshot.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentSampleSnapshot.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentSampleSnapshot.java	14 Aug 2002 14:58:24 -0000	1.1
  +++ InstrumentSampleSnapshot.java	6 Sep 2002 02:10:13 -0000	1.2
  @@ -18,6 +18,8 @@
   public class InstrumentSampleSnapshot
       implements Serializable
   {
  +    static final long serialVersionUID = -3284372358291073513L;
  +    
       /** The name used to reference the InstrumentSample. */
       private String m_InstrumentSampleName;
       
  @@ -33,6 +35,9 @@
       /** The samples as an array of integers. */
       private int[] m_samples;
       
  +    /** State Version. */
  +    private int m_stateVersion;
  +    
       /*---------------------------------------------------------------
        * Constructors
        *-------------------------------------------------------------*/
  @@ -42,18 +47,21 @@
        * @param size The number of samples in the InstrumentSample.
        * @param time The time that the last sample starts.
        * @param samples The samples as an array of integers.
  +     * @param stateVersion The current state version of the sample. 
        */
       public InstrumentSampleSnapshot( String InstrumentSampleName,
                              long interval,
                              int size,
                              long time,
  -                           int[] samples )
  +                           int[] samples,
  +                           int stateVersion )
       {
           m_InstrumentSampleName = InstrumentSampleName;
           m_interval = interval;
           m_size = size;
           m_time = time;
           m_samples = samples;
  +        m_stateVersion = stateVersion;
       }
       
       /*---------------------------------------------------------------
  @@ -108,6 +116,20 @@
       public int[] getSamples()
       {
           return m_samples;
  +    }
  +    
  +    /**
  +     * Returns the stateVersion of the sample.  The state version will be
  +     *  incremented each time any of the configuration of the sample is
  +     *  modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the sample.
  +     */
  +    public int getStateVersion()
  +    {
  +        return m_stateVersion;
       }
   }
   
  
  
  
  1.2       +12 -1     jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentableDescriptor.java
  
  Index: InstrumentableDescriptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/instrument-manager/src/java/org/apache/excalibur/instrument/manager/interfaces/InstrumentableDescriptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- InstrumentableDescriptor.java	14 Aug 2002 14:58:24 -0000	1.1
  +++ InstrumentableDescriptor.java	6 Sep 2002 02:10:13 -0000	1.2
  @@ -95,4 +95,15 @@
        *  Instrumentable.
        */
       InstrumentDescriptor[] getInstrumentDescriptors();
  +    
  +    /**
  +     * Returns the stateVersion of the instrumentable.  The state version
  +     *  will be incremented each time any of the configuration of the
  +     *  instrumentable or any of its children is modified.
  +     * Clients can use this value to tell whether or not anything has
  +     *  changed without having to do an exhaustive comparison.
  +     *
  +     * @return The state version of the instrumentable.
  +     */
  +    int getStateVersion();
   }
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>