X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.utils.ui%2Fsrc%2Forg%2Fsimantics%2Futils%2Fui%2Fvalidators%2FURIValidator.java;fp=bundles%2Forg.simantics.utils.ui%2Fsrc%2Forg%2Fsimantics%2Futils%2Fui%2Fvalidators%2FURIValidator.java;h=b796e2701d4c433de347e340c307a2152e77df15;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/validators/URIValidator.java b/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/validators/URIValidator.java new file mode 100644 index 000000000..b796e2701 --- /dev/null +++ b/bundles/org.simantics.utils.ui/src/org/simantics/utils/ui/validators/URIValidator.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2007, 2010 Association for Decentralized Information Management + * in Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * VTT Technical Research Centre of Finland - initial API and implementation + *******************************************************************************/ +/* + * Created on 29.12.2005 + * + */ +package org.simantics.utils.ui.validators; + +import java.net.URI; +import java.net.URISyntaxException; + +import org.eclipse.jface.dialogs.IInputValidator; + + +/** + * URI Validator + * + * @author Toni Kalajainen + */ +public class URIValidator implements IInputValidator { + + private final String supportedProtocols[]; + + public URIValidator() { + supportedProtocols = null; + } + + public URIValidator(String... supportedProtocols) { + this.supportedProtocols = supportedProtocols; + } + + public String isValid(String newText) { + try { + URI u = new URI(newText); + if (supportedProtocols==null) + return null; + for (String p : supportedProtocols) + if (p.equals(u.getScheme())) + return null; + return u.getScheme()+":// is not supported."; + } catch (URISyntaxException e) { + return e.getMessage(); + } + } + +} +