MarkerFieldFilter.java :  » IDE-Eclipse » ui-workbench » org » eclipse » ui » views » markers » Java Open Source

Java Open Source » IDE Eclipse » ui workbench 
ui workbench » org » eclipse » ui » views » markers » MarkerFieldFilter.java
/*******************************************************************************
 * Copyright (c) 2007, 2008 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

package org.eclipse.ui.views.markers;

import java.util.Map;

import org.eclipse.ui.IMemento;

/**
 * A MarkerFieldFilter is a filter on a particular marker field.
 * @since 3.4
 *
 */
public abstract class MarkerFieldFilter {
  
  private MarkerField field;

  /**
   * Return whether or not marker should be filtered by the receiver.
   * @param item
   * @return boolean <code>true</code> if the marker should be shown.
   */
  public abstract boolean select(MarkerItem item);
  
  /**
   * Initialise the receiver with the values in the values Map.
   * @param values
   * @see FiltersContributionParameters
   */
  public void initialize(Map values){
    //Do nothing by default
  }
  
  /**
   * Populate the working copy with the copy of whatever fields are required.
   * @param copy
   */
  public void populateWorkingCopy(MarkerFieldFilter copy){
    copy.field = this.field;
  }

  /**
   * Set the field for the receiver.
   * @param markerField
   */
  public final void setField(MarkerField markerField) {
    field = markerField;
    
  }

  /**
   * Get the field for the receiver.
   * @return MarkerField
   */
  public final MarkerField getField() {
    return field;
  }

  /**
   * Save any of the relevant state for the receiver in the memento
   * so that it can be used to restore the user settings.
   * @param memento
   * @see #loadSettings(IMemento)
   */
  public abstract void saveSettings(IMemento memento) ;

  /**
   * Load any settings for the receiver from the memento.
   * @param memento
   * @see #saveSettings(IMemento)
   */
  public abstract void loadSettings(IMemento memento) ;
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.