Package edu.stanford.bmir.protege.web.shared.crud.oboid

Source Code of edu.stanford.bmir.protege.web.shared.crud.oboid.OBOIdSuffixKit

package edu.stanford.bmir.protege.web.shared.crud.oboid;

import com.google.common.base.Optional;
import com.google.gwt.http.client.URL;
import edu.stanford.bmir.protege.web.client.crud.obo.OBOIdSuffixSettingsEditor;
import edu.stanford.bmir.protege.web.server.crud.EntityCrudKitHandler;
import edu.stanford.bmir.protege.web.server.crud.supplied.SuppliedNameSuffixEntityCrudKitHandler;
import edu.stanford.bmir.protege.web.shared.crud.*;
import org.semanticweb.owlapi.model.IRI;

/**
* Author: Matthew Horridge<br>
* Stanford University<br>
* Bio-Medical Informatics Research Group<br>
* Date: 14/08/2013
*/
public class OBOIdSuffixKit extends EntityCrudKit<OBOIdSuffixSettings> {

    private static final OBOIdSuffixKit INSTANCE = new OBOIdSuffixKit();

    public static final String DEFAULT_PREFIX = "http://purl.obolibrary.org/obo/ONT_";

    private OBOIdSuffixKit() {
        super(EntityCrudKitId.get("OBO"), "Auto-generated  OBO Style Id");
    }

    public static OBOIdSuffixKit get() {
        return INSTANCE;
    }

    @Override
    public EntityCrudKitSuffixSettingsEditor<OBOIdSuffixSettings> getSuffixSettingsEditor() {
        return new OBOIdSuffixSettingsEditor();
    }

    @Override
    public EntityCrudKitPrefixSettings getDefaultPrefixSettings() {
        return new EntityCrudKitPrefixSettings(DEFAULT_PREFIX);
    }

    @Override
    public OBOIdSuffixSettings getDefaultSuffixSettings() {
        return new OBOIdSuffixSettings();
    }

    @Override
    public Optional<String> getPrefixValidationMessage(String prefix) {
        if(prefix.endsWith(DEFAULT_PREFIX)) {
            return Optional.of("The default prefix is specified.  You should change this to suit your ontology.");
        }
        else if(!prefix.endsWith("_")) {
            return Optional.of("OBO IRI prefixes should end with an underscore");
        }
        else {
            return Optional.absent();
        }
    }

    @Override
    public IRI generateExample(EntityCrudKitPrefixSettings prefixSettings, OBOIdSuffixSettings suffixSettings) {
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i < suffixSettings.getTotalDigits() - 1; i++) {
            sb.append("0");
        }
        sb.append("1");
        return IRI.create(URL.encode(prefixSettings.getIRIPrefix()), sb.toString());
    }
}
TOP

Related Classes of edu.stanford.bmir.protege.web.shared.crud.oboid.OBOIdSuffixKit

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.