home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / VCAFE.3.0A / Main.bin / DTListener.java < prev    next >
Text File  |  1998-10-25  |  3KB  |  80 lines

  1. /*
  2.  * Copyright 1998 Symantec Corporation, All Rights Reserved.
  3.  */
  4.  
  5. package com.symantec.itools.vcafe.openapi.dtreflect;
  6.  
  7. import com.symantec.itools.vcafe.openapi.VisualProject;
  8. import com.symantec.itools.vcafe.openapi.ProjectFile;
  9.  
  10. /**
  11.  * The listener interface for receiving notification when the <code>DTClass</code> information of
  12.  * a <code>ProjectFile</code> has been (re)parsed.
  13.  * <p>To be notified when a file in a <code>VisualProject</code> is parsed, a plug-in implements this
  14.  * interface then calls <code>VisualProject.addDTListener</code> to place itself on the notification list.
  15.  * When a <code>ProjectFile</code> in the project is parsed, the listener is notified.
  16.  * <p>To be notified when a file in <i>any</i> <code>VisualProject</code> is parsed, use
  17.  * <code>VisualCafe.addDTListener</code>.
  18.  *
  19.  * @see com.symantec.itools.vcafe.openapi.VisualProject#addDTListener
  20.  * @see com.symantec.itools.vcafe.openapi.VisualProject#removeDTListener
  21.  * @see com.symantec.itools.vcafe.openapi.VisualCafe#addDTListener
  22.  * @see com.symantec.itools.vcafe.openapi.VisualCafe#removeDTListener
  23.  *
  24.  * @author Symantec Internet Tools Division
  25.  * @version 1.0
  26.  * @since VCafe 3.0
  27.  */
  28. public interface DTListener
  29. {
  30.     /**
  31.      * Reason a file was parsed: user added the file to the project.
  32.      * @see #classesParsed
  33.      */
  34.     public static final int PARSE_ON_ADD_BY_USER    = 1;
  35.     /**
  36.      * Reason a file was parsed: parser added the file to the project.
  37.      * @see #classesParsed
  38.      */
  39.     public static final int PARSE_ON_ADD_BY_PARSER    = 2;
  40.     /**
  41.      * Reason a file was parsed: the file was added to the project (convenience mask that combines
  42.      * PARSE_ON_ADD_BY_USER and PARSE_ON_ADD_BY_PARSER).
  43.      * @see #classesParsed
  44.      */
  45.     public static final int PARSE_ON_ADD            = 3;
  46.     /**
  47.      * Reason a file was parsed: the file was modified.
  48.      * @see #classesParsed
  49.      */
  50.     public static final int PARSE_ON_UPDATE            = 4;
  51.     /**
  52.      * Reason a file was parsed: a "parse all" was requested.
  53.      * @see #classesParsed
  54.      */
  55.     public static final int PARSE_ALL_PASSES        = 8;
  56.     /**
  57.      * Reason a file was parsed: RAD was just enabled for the file.
  58.      * @see #classesParsed
  59.      */
  60.     public static final int PARSE_ON_START_RAD        = 16;
  61.  
  62.     /**
  63.      * Notifies this listener that the parser has (re)parsed a <code>ProjectFile</code>'s <code>DTClass</code>
  64.      * information.
  65.      * <p>Changes to a class usually add/delete fields or methods and do not necessarily
  66.      * invalidate the class object, but may invalidate fields/methods/constructors of
  67.      * the class.
  68.      * @param visualProject the project the file belongs to.
  69.      * @param projectFile the file buffer that was parsed.
  70.      * @param reason why the parser parsed the file, is a mask containing any of:<ul type=circle>
  71.      * <li>PARSE_ON_ADD_BY_USER - user added the file to the project,
  72.      * <li>PARSE_ON_ADD_BY_PARSER - parser added the file to the project,
  73.      * <li>PARSE_ON_UPDATE - the file was modified,
  74.      * <li>PARSE_ALL_PASSES - a "parse all" was requested, or
  75.      * <li>PARSE_ON_START_RAD - RAD was just enabled for the file.
  76.      * </ul>
  77.      */
  78.     public void classesParsed(VisualProject visualProject, ProjectFile projectFile, int reason);
  79. }
  80.