/*******************************************************************************
 * Copyright (c) 2001, 2004 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.wst.xsd.ui.internal.actions;

import org.w3c.dom.Node;

public class ModelMessage
{
  protected String message;
  protected Node node;

  public ModelMessage(String message, Node node)
  {
    this.message = message;
    this.node = node;
  }

  public String getMessage()
  {
    return message;
  }

  public Node getNode()
  {
    return node;
  }
}

