001 /* 002 * file WorkspaceProvider.java 003 * 004 * Licensed Materials - Property of IBM 005 * Restricted Materials of IBM 006 * 007 * (c) Copyright IBM Corporation 2004, 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 014 /** 015 * A WVCM workspace provider. 016 * 017 * A WVCM workspace provider is a factory for creating new new proxy objects for 018 * resources that are members of a workspace. A WVCM workspace provider also can 019 * be queried to determine recommended locations for workspaces, both to guide 020 * the placement of new workspaces as well as to locate existing resources. Once 021 * a workspace is located, the workspace resource can be queried to determine 022 * locations for other types of resources. 023 * 024 * @since 1.0 025 */ 026 public interface WorkspaceProvider extends Provider { 027 028 public static final String IA_ROOT_LOCATION = "com.ibm.rational.wvcm.ROOT_LOCATION"; //$NON-NLS-1$ 029 public static final String IA_WORKSPACE_PATH = "com.ibm.rational.wvcm.WORKSPACE_LOCATION"; //$NON-NLS-1$ 030 public static final String IA_CR_HAS_ONE_PARENT = "com.ibm.rational.wvcm.ri.repo.CR_HAS_ONE_PARENT"; //$NON-NLS-1$ 031 public static final String IA_STREAM_FORGETS_UNBOUND_VERSIONS = "com.ibm.rational.wvcm.ri.repo.STREAM_FORGETS_UNBOUND_VERSIONS"; //$NON-NLS-1$ 032 public static final String IA_VERSION_KNOWS_PARENT = "com.ibm.rational.wvcm.ri.VERSION_KNOWS_PARENT"; //$NON-NLS-1$ 033 034 035 /** 036 * Construct an activity proxy for the given location. 037 * 038 * @param loc the location of the activity. 039 * @return a new proxy for an activity at this Location. 040 */ 041 public Activity activity(Location loc); 042 043 /** 044 * Construct a baseline proxy for the given location. 045 * 046 * @param loc the location of the baseline. 047 * @return a new proxy for a baseline at this Location. 048 */ 049 public Baseline baseline(Location loc); 050 051 /** 052 * Construct a component proxy for the given location. 053 * 054 * @param loc the location of the component. 055 * @return a new proxy for a component at this Location. 056 */ 057 public Component component(Location loc); 058 059 /** 060 * Construct a configuration proxy for the given location. 061 * 062 * @param loc the location of the configuration. 063 * @return a new proxy for a configuration at this Location. 064 */ 065 public Configuration configuration(Location loc); 066 067 /** 068 * Construct a controllable folder proxy for the given location. 069 * 070 * @param loc the location of the controllable folder. 071 * @return a new proxy for a controllable folder at this Location. 072 */ 073 public ControllableFolder controllableFolder(Location loc); 074 075 /** 076 * Construct a controllable resource proxy for the given location. 077 * 078 * @param loc the location of the controllable resource. 079 * @return a new proxy for a controllable resource at this Location. 080 */ 081 public ControllableResource controllableResource(Location loc); 082 083 /** 084 * Construct a controllable symbolic link proxy for the given location. 085 * 086 * @param loc the location of the controllable symbolic link. 087 * @return a new proxy for a controllable symbolic link at this Location. 088 */ 089 public ControllableSymbolicLink controllableSymbolicLink(Location loc); 090 091 /** 092 * Construct a folder version proxy for the given location. 093 094 * @param loc the location of the folder version. 095 * @return a new proxy for a folder version at this Location. 096 */ 097 public FolderVersion folderVersion(Location loc); 098 099 /** 100 * Construct a stream proxy for the given location. 101 102 * @param loc the location of the stream. 103 * @return a new proxy for a stream at this Location. 104 */ 105 public Stream stream(Location loc); 106 107 /** 108 * Construct a task proxy for the given location. 109 110 * @param loc the location of the task. 111 * @return a new proxy for a task at this Location. 112 */ 113 public Task task(Location loc); 114 115 /** 116 * Construct a version proxy for the given location. 117 * 118 * @param loc the location of the version. 119 * @return a new proxy for a version at this Location. 120 */ 121 public Version version(Location loc); 122 123 /** 124 * Construct a version history proxy for the given location. 125 * 126 * @param loc the location of the version history. 127 * @return a new proxy for a version history at this Location. 128 */ 129 public VersionHistory versionHistory(Location loc); 130 131 /** 132 * Construct a workspace proxy for the given location. 133 134 * @param loc the location of the workspace. 135 * @return a new proxy for a workspace at this Location. 136 */ 137 public Workspace workspace(Location loc); 138 139 }