classgraphproperties.java

来自「Semantic Web Ontology Editor」· Java 代码 · 共 84 行

JAVA
84
字号
/*
 * Created on Apr 21, 2005
 */
package org.mindswap.swoop.utils.graph;

import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import org.mindswap.swoop.SwoopModel;
import org.semanticweb.owl.model.OWLClass;
import org.semanticweb.owl.model.OWLEntity;
import org.semanticweb.owl.model.OWLException;
import org.semanticweb.owl.model.OWLOntology;

/**
 * @author Evren Sirin
 *
 */
public class ClassGraphProperties implements GraphProperties {
    private final SwoopModel model;
    
    public ClassGraphProperties(SwoopModel model) {
        this.model = model;
    }

    private String getName(Object obj, boolean shortName) {
        Set set = (Set) obj;
        
        StringBuffer name = new StringBuffer();        
        for(Iterator i = set.iterator(); i.hasNext();) {
            OWLEntity cls = (OWLEntity) i.next();
            URI uri = null;
            try {
                uri = cls.getURI();
            } catch(OWLException e) {
                e.printStackTrace();
            }        

            if( uri == null )
                name.append("Anon Class");
            else if( shortName )
                name.append( model.shortForm( uri ) );
            else
                name.append( uri );                
        }
        
        return null;
    }
    
    public String getShortName(Object obj) {
        return getName( obj, true );  
    }

    public String getLongName(Object obj) {
        return getName( obj, false );  
    }

    public Collection getLinkedElements(Object obj) {
        try {
            OWLClass cls = (OWLClass) ((Set) obj).iterator().next();
            
            return model.getReasoner().subClassesOf( cls );
        } catch(OWLException e) {
            e.printStackTrace();
        }
        
        return Collections.EMPTY_SET;
    }

    public int getSize(Object obj) {
        return 1;
    }

    public String getPreferredLayout() {
        return "DAG Layout";
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?