// Path: reasoner/src/main/java/org/earthcube/geosoft/community/classes/User.java
// public class User extends URIEntity{
//   private static final long serialVersionUID = 1L;
//   String username, picture, site, expertise, affiliation;
//   boolean isDeveloper;
// 
//   public User(String id) {
//     super(id);
//   }
//   
//   public String getUsername() {
//     return this.username;
//   }
//   
//   public void setUsername(String username) {
//     this.username = username;
//   }
// 
//   public String getPicture() {
//     return picture;
//   }
// 
//   public void setPicture(String picture) {
//     this.picture = picture;
//   }
// 
//   public String getSite() {
//     return site;
//   }
// 
//   public void setSite(String site) {
//     this.site = site;
//   }
// 
//   public String getExpertise() {
//     return expertise;
//   }
// 
//   public void setExpertise(String expertise) {
//     this.expertise = expertise;
//   }
// 
//   public String getAffiliation() {
//     return affiliation;
//   }
// 
//   public void setAffiliation(String affiliation) {
//     this.affiliation = affiliation;
//   }
// 
//   public boolean isDeveloper() {
//     return isDeveloper;
//   }
// 
//   public void setDeveloper(boolean isDeveloper) {
//     this.isDeveloper = isDeveloper;
//   }
// }
// 
// Path: reasoner/src/main/java/org/earthcube/geosoft/community/classes/UserContribution.java
// public class UserContribution {
//   String softwareId;
//   String propertyId;
//   Object value;
//   long timestamp;
// 
//   public String getSoftwareId() {
//     return softwareId;
//   }
// 
//   public void setSoftwareId(String softwareId) {
//     this.softwareId = softwareId;
//   }
// 
//   public String getPropertyId() {
//     return propertyId;
//   }
// 
//   public void setPropertyId(String propertyId) {
//     this.propertyId = propertyId;
//   }
// 
//   public Object getValue() {
//     return value;
//   }
// 
//   public void setValue(Object value) {
//     this.value = value;
//   }
// 
//   public long getTimestamp() {
//     return timestamp;
//   }
// 
//   public void setTimestamp(long timestamp) {
//     this.timestamp = timestamp;
//   }
// }


import java.util.ArrayList;
import org.earthcube.geosoft.community.classes.User;
import org.earthcube.geosoft.community.classes.UserContribution;
package org.earthcube.geosoft.community.api;



public interface CommunityAPI {
  void initializeUser(String username);
  
  ArrayList<String> listUserIds();
  
// Path: reasoner/src/main/java/org/earthcube/geosoft/community/classes/User.java
// public class User extends URIEntity{
//   private static final long serialVersionUID = 1L;
//   String username, picture, site, expertise, affiliation;
//   boolean isDeveloper;
// 
//   public User(String id) {
//     super(id);
//   }
//   
//   public String getUsername() {
//     return this.username;
//   }
//   
//   public void setUsername(String username) {
//     this.username = username;
//   }
// 
//   public String getPicture() {
//     return picture;
//   }
// 
//   public void setPicture(String picture) {
//     this.picture = picture;
//   }
// 
//   public String getSite() {
//     return site;
//   }
// 
//   public void setSite(String site) {
//     this.site = site;
//   }
// 
//   public String getExpertise() {
//     return expertise;
//   }
// 
//   public void setExpertise(String expertise) {
//     this.expertise = expertise;
//   }
// 
//   public String getAffiliation() {
//     return affiliation;
//   }
// 
//   public void setAffiliation(String affiliation) {
//     this.affiliation = affiliation;
//   }
// 
//   public boolean isDeveloper() {
//     return isDeveloper;
//   }
// 
//   public void setDeveloper(boolean isDeveloper) {
//     this.isDeveloper = isDeveloper;
//   }
// }
// 
// Path: reasoner/src/main/java/org/earthcube/geosoft/community/classes/UserContribution.java
// public class UserContribution {
//   String softwareId;
//   String propertyId;
//   Object value;
//   long timestamp;
// 
//   public String getSoftwareId() {
//     return softwareId;
//   }
// 
//   public void setSoftwareId(String softwareId) {
//     this.softwareId = softwareId;
//   }
// 
//   public String getPropertyId() {
//     return propertyId;
//   }
// 
//   public void setPropertyId(String propertyId) {
//     this.propertyId = propertyId;
//   }
// 
//   public Object getValue() {
//     return value;
//   }
// 
//   public void setValue(Object value) {
//     this.value = value;
//   }
// 
//   public long getTimestamp() {
//     return timestamp;
//   }
// 
//   public void setTimestamp(long timestamp) {
//     this.timestamp = timestamp;
//   }
// }


// Path: reasoner/src/main/java/org/earthcube/geosoft/community/api/CommunityAPI.java
import java.util.ArrayList;
import org.earthcube.geosoft.community.classes.User;
import org.earthcube.geosoft.community.classes.UserContribution;

package org.earthcube.geosoft.community.api;



public interface CommunityAPI {
  void initializeUser(String username);
  
  ArrayList<String> listUserIds();
  
  ArrayList<User> getAllUsers();