ExtensionData.java :  » IDE-Eclipse » ui-workbench » org » eclipse » ui » internal » intro » universal » Java Open Source

Java Open Source » IDE Eclipse » ui workbench 
ui workbench » org » eclipse » ui » internal » intro » universal » ExtensionData.java
/*******************************************************************************
 * Copyright (c) 2005, 2006 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.internal.intro.universal;

import java.io.PrintWriter;

public class ExtensionData extends BaseData {

  public static final int HIDDEN = -1;

  public static final int CALLOUT = 0;

  public static final int LOW = 1;

  public static final int MEDIUM = 2;

  public static final int HIGH = 3;

  public static final int NEW = 4;

  private String name;

  private int fImportance = LOW;

  private boolean implicit = false;

  public static final String[] IMPORTANCE_TABLE = {
      IUniversalIntroConstants.CALLOUT, IUniversalIntroConstants.LOW,
      IUniversalIntroConstants.MEDIUM, IUniversalIntroConstants.HIGH,
      IUniversalIntroConstants.NEW };

  public static final String[] IMPORTANCE_STYLE_TABLE = {
      IUniversalIntroConstants.STYLE_CALLOUT,
      IUniversalIntroConstants.STYLE_LOW,
      IUniversalIntroConstants.STYLE_MEDIUM,
      IUniversalIntroConstants.STYLE_HIGH,
      IUniversalIntroConstants.STYLE_NEW };

  public static final String[] IMPORTANCE_NAME_TABLE = {
      org.eclipse.ui.internal.intro.universal.Messages.ExtensionData_callout,
      Messages.ExtensionData_low, Messages.ExtensionData_medium,
      Messages.ExtensionData_high, Messages.ExtensionData_new };

  public ExtensionData(String id, String name) {
    this(id, name, IUniversalIntroConstants.LOW, false);
  }

  public ExtensionData(String id, String name, int importance) {
    this.id = id;
    this.name = name;
    this.fImportance = importance;
    this.implicit = false;
  }

  public boolean isImplicit() {
    return implicit;
  }

  public ExtensionData(String id, String name, String importance,
      boolean implicit) {
    this.id = id;
    this.name = name;
    this.implicit = implicit;
    if (importance != null) {
      if (importance.equals(IUniversalIntroConstants.HIGH))
        fImportance = HIGH;
      else if (importance.equals(IUniversalIntroConstants.MEDIUM))
        fImportance = MEDIUM;
      else if (importance.equals(IUniversalIntroConstants.LOW))
        fImportance = LOW;
      else if (importance.equals(IUniversalIntroConstants.CALLOUT))
        fImportance = CALLOUT;
      else if (importance.equals(IUniversalIntroConstants.NEW))
        fImportance = NEW;
      else if (importance.equals(IUniversalIntroConstants.HIDDEN))
        fImportance = HIDDEN;
    }
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getImportance() {
    return fImportance;
  }

  public void setImportance(int newValue) {
    fImportance = newValue;
  }

  public boolean isHidden() {
    return fImportance == HIDDEN;
  }

  String getImportanceAttributeValue() {
    return IMPORTANCE_TABLE[fImportance];
  }

  public String toString() {
    return name != null ? name : id;
  }

  public void write(PrintWriter writer, String indent) {
    writer.print(indent);
    writer.print("<extension id=\"" + id + "\""); //$NON-NLS-1$ //$NON-NLS-2$
    if (!isHidden())
      writer
          .println(" importance=\"" + getImportanceAttributeValue() + "\"/>"); //$NON-NLS-1$ //$NON-NLS-2$
    else
      writer.println("/>"); //$NON-NLS-1$
  }
}
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.