001    package org.hackystat.tickertape.tickerlingua;
002    
003    /**
004     * Represents a Hackystat Project. 
005     * @author Philip Johnson
006     */
007    public class HackystatProject {
008      
009      private String id;
010      private String name;
011      private String shortname;
012      private HackystatService service;
013      private HackystatUser owner;
014      private String mailinglist;
015      private HackystatUser authUser;
016    
017      /**
018       * Create a new Hackystat Project representation. 
019       * @param id The id, which must be unique. 
020       * @param name The name of this project. 
021       * @param shortname A nickname.
022       * @param service The HackystatService for this Project.
023       * @param owner The owner of this project. We don't need a password for this user.  
024       * @param authUser The authorized user for accessing this project. We need the password for them.
025       * @param mailinglist The mailing list for this project. 
026       */
027      public HackystatProject(String id, String name, String shortname, 
028          HackystatService service, HackystatUser owner, HackystatUser authUser, String mailinglist) {
029        this.id = id;
030        this.name = name;
031        this.shortname = shortname;
032        this.service = service;
033        this.owner = owner;
034        this.authUser = authUser;
035        this.mailinglist = mailinglist;
036      }
037      
038      /**
039       * Get the id. 
040       * @return The id.
041       */
042      public String getId() {
043        return this.id;
044      }
045      
046      /**
047       * Get the name.
048       * @return The name.
049       */
050      public String getName() {
051        return this.name;
052      }
053      
054      /**
055       * Get the shortname. 
056       * @return The shortname.
057       */
058      public String getShortName() {
059        return this.shortname;
060      }
061      
062      /**
063       * Get the Hackystat Service. 
064       * @return The service. 
065       */
066      public HackystatService getHackystatService() {
067        return this.service;
068      }
069      
070      /**
071       * Get the HackystatUser that owns this project. 
072       * @return The owner. 
073       */
074      public HackystatUser getHackystatOwner() {
075        return this.owner;
076      }
077      
078      /**
079       * Get the HackystatUser that can access this project data. 
080       * @return The authorized user of this project data. 
081       */
082      public HackystatUser getHackystatAuthUser() {
083        return this.authUser;
084      }
085    
086      /**
087       * Get the mailing list for this project. 
088       * @return The mailing list. 
089       */
090      public String getMailingList() {
091        return this.mailinglist;
092      }
093    }