view src/main/java/de/mpiwg/itgroup/annotations/Person.java @ 58:f5c0e6df7e88

made uri prefixes in store configurable.
author casties
date Tue, 20 Nov 2012 18:23:52 +0100
parents 0731c4549065
children 9d3885d1681e
line wrap: on
line source

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

import de.mpiwg.itgroup.annotations.restlet.BaseRestlet;

/**
 * @author casties
 *
 */
public class Person extends Actor {

    public Person() {
    }

    public Person(String id) {
        super();
        this.id = id;
    }

    public Person(String uri, String name) {
        super();
        this.uri = uri;
        this.name = name;
    }

    public Person(String id, String uri, String name) {
        super();
        this.id = id;
        this.uri = uri;
        this.name = name;
    }

    @Override
    public boolean isGroup() {
        return false;
    }

    public String getIdString() {
        if (id == null) {
            id = getIdFromUri(uri, false);
        }
        return id;
    }

    /**
     * Returns a Person with this id or null.
     * 
     * @param id
     * @return
     */
    public static Person createPersonWithId(String id) {
        if (id != null) {
            return new Person(id);
        }
        return null;
    }

    /**
     * Sets the name from the id using getFullNameFromLdap of the Application.
     *  
     * @param application
     * @return
     */
    public String updateName(BaseRestlet application) {
        if (id != null) {
            name = application.getFullNameFromLdap(id);
        }
        return name;
    }
}