/******************************************************************************** * * * (c) Copyright 2010 Verizon Communications USA and The Open University UK * * * * This software is freely distributed in accordance with * * the GNU Lesser General Public (LGPL) license, version 3 or later * * as published by the Free Software Foundation. * * For details see LGPL: http://www.fsf.org/licensing/licenses/lgpl.html * * and GPL: http://www.fsf.org/licensing/licenses/gpl-3.0.html * * * * This software is provided by the copyright holders and contributors "as is" * * and any express or implied warranties, including, but not limited to, the * * implied warranties of merchantability and fitness for a particular purpose * * are disclaimed. In no event shall the copyright owner or contributors be * * liable for any direct, indirect, incidental, special, exemplary, or * * consequential damages (including, but not limited to, procurement of * * substitute goods or services; loss of use, data, or profits; or business * * interruption) however caused and on any theory of liability, whether in * * contract, strict liability, or tort (including negligence or otherwise) * * arising in any way out of the use of this software, even if advised of the * * possibility of such damage. * * * ********************************************************************************/ package com.compendium.core.datamodel; import java.util.Date; /** * The ILinkProperties object holds the link and link label formatting options for the link * in a view. * * @author Michelle Bachler */ public interface ILinkProperties extends IPCObject { /** * The initialize method is called by the Model before adding the object to the cache. * * @param PCSession session, the session associated with this object. * @param IMode model, the model this object belongs to. */ public void initialize(PCSession session, IModel model); /** * This method needs to be called on this object before the Model removes it from the cache. */ public void cleanUp(); /** * Return a new NodePosition object with the properties of this node. */ public ILinkProperties getClone(); /** * Returns the link for which this object defines the properties * * @return the link for which this object defines the properties. */ public Link getLink(); /** * Sets the link for which this object defines the properties, in the local data ONLY. * * @param the link for which this object defines the properties. */ public void setLink(Link oLink); /** * Returns the view in which the node is placed at the defined position * * @return View, the view in which the node is placed at the defined position */ public View getView(); /** * Set the view in which the node is placed at the defined position. * @param View oView, the view in which this node is placed. */ public void setView(View oView); /** * Sets the date when this node was created, in the local data ONLY. * * @param Date date, the creation date of this object. */ public void setCreationDate(Date date); /** * Returns the creation date of this object. * * @return Date, the date when this object was created. */ public Date getCreationDate(); /** * Sets the ModificationDate date of this object, in the local data ONLY. * * @param Date date, the date this object was last modified. */ public void setModificationDate(Date date); /** * Returns the modification date of this node. * * @return Date, the date when this node was last modified. */ public Date getModificationDate(); /** * Returns the label wrap width of this View * * @return the int of the label wrap width of this View */ public int getLabelWrapWidth(); /** * Sets the label wrap width of this View, in the local data ONLY. * * @param nWidth the label wrap width of this View */ public void setLabelWrapWidth(int nWidth); /** * Returns the arrow type for this View * * @return the arrow type for this link in this view */ public int getArrowType(); /** * Sets the arrow type for this link in this View, in the local data ONLY. * * @param nArrowType the arrow style for this link in this view */ public void setArrowType(int nArrowType); /** * Returns the link style for this link in this View * * @return the link style for this link in this View. */ public int getLinkStyle(); /** * Sets the link style for this link in this View, in the local data ONLY. * * @param nLinkStyle link style for this link in this View */ public void setLinkStyle(int nLinkStyle); /** * Returns the link dashed for this link in this View * * @return the link dashed for this link in this View. */ public int getLinkDashed(); /** * Sets the link dashed for this link in this View, in the local data ONLY. * * @param nLinkDashed link dashed for this link in this View */ public void setLinkDashed(int nLinkDashed); /** * Returns the link weight for this link in this View * * @return the link weight for this link in this View. */ public int getLinkWeight(); /** * Sets the link weight for this link in this View, in the local data ONLY. * * @param nLinkWeight link weight for this link in this View */ public void setLinkWeight(int nLinkWeight); /** * Returns the link colour for this link in this View * * @return the link colour for this link in this View. */ public int getLinkColour(); /** * Sets the link colour for this link in this View, in the local data ONLY. * * @param nLinkWeight link colour for this link in this View */ public void setLinkColour(int nLinkColour); /** * Returns the font size for this View * * @return the int of the font size for this View */ public int getFontSize(); /** * Sets the font size for this View, in the local data ONLY. * * @param nWidth the font size for this View */ public void setFontSize(int nFontSize); /** * Returns the the font face for node labels in this View * * @return String the the font face for node labels in this View */ public String getFontFace(); /** * Sets the the font face for node labels in this View, in the local data ONLY. * * @param sFontFace the font face for node labels in this View */ public void setFontFace(String sFontFace); /** * Returns the font style for this View * * @return int font style for this View */ public int getFontStyle(); /** * Sets the font style for this View, in the local data ONLY. * * @param nStyle the font style for this View */ public void setFontStyle(int nStyle); /** * Returns the text foreground for this Node in this View * * @return int text foreground for this node in this view */ public int getForeground(); /** * Sets the text foreground for this Node in this View, in the local data ONLY. * * @param nForeground the text foreground for this Node in this View */ public void setForeground(int nFore); /** * Returns the text background for this Node in this View * * @return int text background for this node in this view */ public int getBackground(); /** * Sets the text background for this Node in this View, in the local data ONLY. * * @param nBackground the text background for this Node in this View */ public void setBackground(int nBackground); }