001 /*
002 * file ControllableSymbolicLink.java
003 *
004 * Licensed Materials - Property of IBM
005 * Restricted Materials of IBM
006 *
007 * (c) Copyright IBM Corporation 2007, 2008. All Rights Reserved.
008 * Note to U.S. Government Users Restricted Rights: Use, duplication or
009 * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
010 */
011 package javax.wvcm;
012
013 import javax.wvcm.PropertyNameList.PropertyName;
014
015 /**
016 * A proxy for a symbolic link resource.
017 * The content of a symbolic link is the content of the resource to which its
018 * {@link #LINK_TARGET} property refers.
019 * The members of a symbolic link are the members of the resource to which its
020 * {@link #LINK_TARGET} property refers.
021 *
022 * A controllable symbolic link resource is a symbolic link that can be placed under control.
023 * When a symbolic link is placed under version control, a version of that symbolic link
024 * captures the link-pathname value of that symbolic link.
025 *
026 * @since 1.1
027 */
028 public interface ControllableSymbolicLink extends ControllableFolder {
029
030 /**
031 * A pathname that identifies the resource to which the symbolic link refers.
032 * @see #setLinkTarget
033 * @see #getLinkTarget
034 */
035 public static final PropertyName<Location> LINK_TARGET =
036 new PropertyName<Location>("link-target"); //$NON-NLS-1$
037
038 /**
039 * Get the {@link #LINK_TARGET} property.
040 *
041 * @return the {@link #LINK_TARGET} property.
042 * @throws WvcmException if this property was not set and
043 * this ControllableSymbolicLink was not created with
044 * {@link #LINK_TARGET} as a wanted property.
045 * @see #setLinkTarget
046 */
047 public Location getLinkTarget() throws WvcmException;
048
049 /**
050 * Set the {@link #LINK_TARGET} property.
051 *
052 * @param linkTarget the new pathname
053 * value for the {@link #LINK_TARGET} property.
054 * @see #getLinkTarget
055 */
056 public void setLinkTarget(Location linkTarget);
057
058 }