/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.ui.editors; import java.util.HashMap; import java.util.Map; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IResource; /** * NavigationMarker Instances of this class contain details necessary to restore a location in the navigation scheme. * * @since 8.0 */ public class NavigationMarker implements IMarker { private Map mapAttributes; /** * Construct an instance of NavigationMarker. */ public NavigationMarker() { super(); } private Map getAttributeMap() { if ( mapAttributes == null ) { mapAttributes = new HashMap(); } return mapAttributes; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#delete() */ @Override public void delete() { } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#exists() */ @Override public boolean exists() { return true; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getAttribute(java.lang.String) */ @Override public Object getAttribute( String attributeName ) { return getAttributeMap().get( attributeName ); } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getAttribute(java.lang.String, int) */ @Override public int getAttribute( String attributeName, int defaultValue ) { Object oValue = getAttributeMap().get( attributeName ); if ( oValue != null && oValue instanceof Integer ) { return ((Integer)oValue).intValue(); } return defaultValue; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getAttribute(java.lang.String, java.lang.String) */ @Override public String getAttribute( String attributeName, String defaultValue ) { Object oValue = getAttributeMap().get( attributeName ); if ( oValue != null && oValue instanceof String ) { return (String)oValue; } return defaultValue; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getAttribute(java.lang.String, boolean) */ @Override public boolean getAttribute( String attributeName, boolean defaultValue ) { Object oValue = getAttributeMap().get( attributeName ); if ( oValue != null && oValue instanceof Boolean ) { return ((Boolean)oValue).booleanValue(); } return defaultValue; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getAttributes() */ @Override public Map getAttributes() { return getAttributeMap(); } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getAttributes(java.lang.String[]) */ @Override public Object[] getAttributes( String[] attributeNames ) { return null; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getCreationTime() */ @Override public long getCreationTime() { return 0; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getId() */ @Override public long getId() { return 0; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getResource() */ @Override public IResource getResource() { return null; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#getType() */ @Override public String getType() { return null; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#isSubtypeOf(java.lang.String) */ @Override public boolean isSubtypeOf( String superType ) { return false; } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#setAttribute(java.lang.String, int) */ @Override public void setAttribute( String attributeName, int value ) { getAttributeMap().put( attributeName, new Integer( value ) ); } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#setAttribute(java.lang.String, java.lang.Object) */ @Override public void setAttribute( String attributeName, Object value ) { getAttributeMap().put( attributeName, value ); } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#setAttribute(java.lang.String, boolean) */ @Override public void setAttribute( String attributeName, boolean value ) { getAttributeMap().put( attributeName, new Boolean( value ) ); } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#setAttributes(java.lang.String[], java.lang.Object[]) */ @Override public void setAttributes( String[] attributeNames, Object[] values ) { } /* (non-Javadoc) * @see org.eclipse.core.resources.IMarker#setAttributes(java.util.Map) */ @Override public void setAttributes( Map attributes ) { mapAttributes = attributes; } /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ @Override public Object getAdapter(Class adapter) { return null; } }