diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifierFactory.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifierFactory.java | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifierFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifierFactory.java deleted file mode 100644 index 004083b2c..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/designtime/internal/resources/ResourceIdentifierFactory.java +++ /dev/null @@ -1,167 +0,0 @@ -package org.eclipse.jst.jsf.designtime.internal.resources; - -import java.util.regex.Pattern; - -/** - * Creates a resource identifier from a string. Because id strings are ambiguous, - * the caller must used specific methods to resolve the ambiguity. - * - * @author cbateman - * - */ -public class ResourceIdentifierFactory -{ - /** - * The regular expression for version matching - */ - public static final String VersionRegex = "[0-9]+(_[0-9]+)*"; //$NON-NLS-1$ - /** - * A precompiled regex pattern for matching resource version. - */ - public static final Pattern VersionPattern = Pattern.compile(VersionRegex); - - /** - * @param idString - * @return a LibraryResourceIdentifier based on the string. The call - * assumes that the identifier contains a library name. If the idString - * can't be resolved for correctness, InvalidIdentifierException will be thrown. - * @throws InvalidIdentifierException - */ - public ResourceIdentifier createLibraryResource(final String idString) throws InvalidIdentifierException - { - final String[] parts = idString.split("/"); //$NON-NLS-1$ - String resName = null; - String libraryName = null; - switch(parts.length) - { - case 1: - // The whole string is the resource name. There is no library name. - resName = parts[0]; - break; - case 2: - // the first part is the libraryName and the second is the res name - // TODO: this is ambiguous with locale/resourceName - resName = parts[1]; - libraryName = parts[0]; - break; - case 3: - // is it of form libraryName/libraryVersion/resourceName? - if (VersionPattern.matcher(parts[1]).matches()) - { - resName = parts[2]; - libraryName = parts[0]; - break; - } - // if no, then this is invalid - throw new InvalidIdentifierException(idString); - case 4: - // is it of the form locale/libraryName/libraryVersion/resourceName - if (VersionPattern.matcher(parts[2]).matches()) - { - resName = parts[3]; - libraryName = parts[1]; - break; - } - // no? then is it libraryName/libraryVersion/resourceName/resourceVersion - else if (VersionPattern.matcher(parts[1]).matches()) - { - resName = parts[2]; - libraryName = parts[0]; - break; - } - // no? then assume it is locale/libraryName/resourceName/resourceVersion - else - { - resName = parts[2]; - libraryName = parts[1]; - break; - } - case 5: - // this is the full one: locale/libraryName/libraryVersion/resourceName/resourceVersion - resName = parts[3]; - libraryName = parts[1]; - break; - } - - if (resName == null) - { - throw new InvalidIdentifierException(idString); - } - - return new LibraryResourceIdentifier(resName, libraryName); - } - - /** - * @param libraryName - * @return a new resource fragment identifier for a library folder. - */ - public ResourceFragmentIdentifier createLibraryFragment(final String libraryName) - { - return new LibraryResourceFragmentIdentifier(libraryName); - } - - /** - * Indicates an invalid id. - * - * @author cbateman - * - */ - public static class InvalidIdentifierException extends Exception - { - - private final String _id; - - /** - * @param id - */ - public InvalidIdentifierException(final String id) - { - super(); - _id = id; - } - - /** - * @param message - * @param cause - * @param id - */ - public InvalidIdentifierException(final String message, final Throwable cause, final String id) - { - super(message, cause); - _id = id; - } - - /** - * @param message - * @param id - */ - public InvalidIdentifierException(final String message, final String id) - { - super(message); - _id = id; - } - - /** - * @param cause - * @param id - */ - public InvalidIdentifierException(final Throwable cause, final String id) - { - super(cause); - _id = id; - } - - /** - * @return the id that was found to be invalid. - */ - public final String getId() - { - return _id; - } - - /** - * - */ - private static final long serialVersionUID = -8926293207447823901L; - } -} |