view src/main/java/de/mpiwg/itgroup/annotations/Person.java @ 69:9d3885d1681e

for nicer log messages.
author casties
date Sat, 22 Feb 2014 07:25:58 -0800
parents 0731c4549065
children 2b1e6df5e21a
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;
    }

    /* (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        String s = "PERSON["+id+"]";
        if (name != null) {
            s += ": "+name;
        }
        return s;
    }
}