Skip to content
Snippets Groups Projects
Select Git revision
  • 2d86d6f80c6d51f328ab07e748db135d32018faa
  • master default protected
  • gh-pages
  • build-process-upgrade-merge
  • eb-apollo-generate_names
  • BT5_travis
  • hello_github
  • v18.1.0
  • v18.0.3
  • v18.0.2
  • v18.0.1
  • v18.0.0
  • v18.0.0-RC1
  • v17.0.1
  • v17.0.0
  • v16.0.17
  • v16.0.0
  • v15.0.0
  • v14.0.0
  • v13.2.0
20 results

README.md

Blame
  • EntryChangeEvent.java 4.01 KiB
    /* EntryChangeEvent.java
     *
     * created: Sat Oct 17 1998
     *
     * This file is part of Artemis
     * 
     * Copyright (C) 1998,1999,2000  Genome Research Limited
     * 
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License
     * as published by the Free Software Foundation; either version 2
     * of the License, or (at your option) any later version.
     * 
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     * 
     * You should have received a copy of the GNU General Public License
     * along with this program; if not, write to the Free Software
     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
     *
     * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/EntryChangeEvent.java,v 1.2 2006-05-31 10:38:48 tjc Exp $
     */
    
    package uk.ac.sanger.artemis;
    
    /**
     *  This event is sent when a change occurs in an entry.  eg. a feature is
     *  deleted.
     *
     *  @author Kim Rutherford
     *  @version $Id: EntryChangeEvent.java,v 1.2 2006-05-31 10:38:48 tjc Exp $
     *
     */
    
    public class EntryChangeEvent extends ChangeEvent {
      /**
       *  Event type - feature removed.
       **/
      public static final int FEATURE_DELETED = 1;
    
      /**
       *  Event type - feature added.
       **/
      public static final int FEATURE_ADDED = 2;
    
      /**
       *  Event type - The name of an entry has changed.
       **/
      public static final int NAME_CHANGED = 3;
    
      /**
       *  Event type - The header of an entry has changed.
       **/
      public static final int HEADER_CHANGED = 4;
    
      /**
       *  The Entry that was passed to the constructor (if any).
       **/
      private Entry entry;
      
      /**
       *  The Feature object that was passed to the constructor.
       **/
      private Feature feature;
        
      /**
       *  
       **/
      private boolean duplicate; 
      
      /**
       *  This is the type of this event (eg FEATURE_DELETED, FEATURE_ADDED, etc),
       *  as passed to the constructor
       **/
      private int type;
      
      /**
       *  Create a new EntryChangeEvent object.
       *  @param entry This Entry object that this event refers to.
       *  @param feature This Feature object that this event refers to.
       *  @param type This type of the event.
       **/
      public EntryChangeEvent (Entry entry,
                               Feature feature,
                               int type) 
      {
        super (entry);
        this.entry = entry;
        this.feature = feature;
        this.type = type;
      }
    
      /**
       *  Create a new EntryChangeEvent object.
       *  @param entry This Entry object that this event refers to.
       *  @param feature This Feature object that this event refers to.
       *  @param type This type of the event.
       **/
      public EntryChangeEvent (Entry entry,
                               Feature feature,
                               boolean duplicate,
                               int type) 
      {
        super (entry);
        this.entry = entry;
        this.feature = feature;
        this.duplicate = duplicate;
        this.type = type;
      }
      
      /**
       *  Create a new EntryChangeEvent object.  This constructor is used for
       *  HEADER_CHANGED and NAME_CHANGED events.
       *  @param source The source of this event.
       *  @param entry This Entry object that this event refers to.
       *  @param type This type of the event.
       **/
      public EntryChangeEvent (Object source,
                               Entry entry,
                               int type)
      {
        super (source);
        this.entry = entry;
        this.feature = null;
        this.type = type;
      }
    
      /**
       *  Return the type of this event, ie the type passed to the
       *  constructor.
       **/
      public int getType () 
      {
        return type;
      }
    
      /**
       *  Return the target Feature object for this event.
       **/
      public Feature getFeature () 
      {
        return feature;
      }
    
      
      public boolean isDuplicate()
      {
        return duplicate;
      }
    
      /**
       *  This is a convenience method that returns the Entry the generated this
       *  event.
       **/
      public Entry getEntry () 
      {
        return entry;
      }
    }