view src/main/java/de/mpiwg/itgroup/annotations/Actor.java @ 10:90911b2da322

more work on permissions...
author casties
date Thu, 12 Jul 2012 17:01:32 +0200
parents b2bfc3bc9ba8
children abe25edf2178
line wrap: on
line source

/**
 * 
 */
package de.mpiwg.itgroup.annotations;

import de.mpiwg.itgroup.annotations.old.NS;

/**
 * @author casties
 *
 */
public abstract class Actor {

    public String uri;
    public String name;
    public String id;
    
    /**
     * @return if this Actor is a Group
     */
    public abstract boolean isGroup();
    
    /**
     * @return the uri
     */
    public String getUri() {
        return uri;
    }
    /**
     * @param uri the uri to set
     */
    public void setUri(String uri) {
        this.uri = uri;
    }
    /**
     * @return the name
     */
    public String getName() {
        return name;
    }
    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }
    
    /**
     * Returns id as a String starting with "group:" for groups.
     * 
     * @return
     */
    public abstract String getIdString();
    
    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }
    
    /**
     * Returns a short id from an uri.
     * 
     * @param uri
     * @return
     */
    public static String getIdFromUri(String uri, boolean isGroup) {
        String id = null;
        String prefix = NS.MPIWG_PERSONS_URL;
        if (isGroup) {
            prefix = NS.MPIWG_GROUPS_URL;
        }
        if (uri != null && uri.startsWith(prefix)) {
            id = uri.replace(prefix, "");
        }
        return id;
    }

    /**
     * Returns an uri from a short id.
     * 
     * @param id
     * @return
     */
    public static String getUriFromId(String id, boolean isGroup) {
        String uri = null;
        String prefix = NS.MPIWG_PERSONS_URL;
        if (isGroup) {
            prefix = NS.MPIWG_GROUPS_URL;
        }
        if (id != null && ! id.startsWith("http://")) {
            uri = prefix + id; 
        }
        return uri;
    }

}