/* * Copyright (c) 2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.wso2.carbon.registry.social.api.people.userprofile.model; import java.util.Date; public interface Organization { /** * An Enumeration of field names for Organization. */ public static enum Field { /** * the name of the address field. */ ADDRESS("address"), /** * the name of the description field. */ DESCRIPTION("description"), /** * the name of the endDate field. */ END_DATE("endDate"), /** * the name of the field field. */ FIELD("field"), /** * the name of the name field. */ NAME("name"), /** * the name of the salary field. */ SALARY("salary"), /** * the name of the startDate field. */ START_DATE("startDate"), /** * the name of the subField field. */ SUB_FIELD("subField"), /** * the name of the title field. */ TITLE("title"), /** * the name of the webpage field. */ WEBPAGE("webpage"), /** * the name of the type field, Should have the value of "job" or "school" to be put in the right * js fields. */ TYPE("type"), /** * the name of the primary field. */ PRIMARY("primary"); /** * the name of this field. */ private final String jsonString; /** * Construct a field based on the name of the field. * * @param jsonString the name of the field */ private Field(String jsonString) { this.jsonString = jsonString; } /** * @return a string representation of the enum. */ @Override public String toString() { return this.jsonString; } } /** * Get the address of the organization, specified as an Address. Container support for this field * is OPTIONAL. * * @return the Address of the organization */ Address getAddress(); /** * Set the address of the organization, specified as an Address. Container support for this field * is OPTIONAL. * * @param address the address of the organization */ void setAddress(Address address); /** * Get a description or notes about the person's work in the organization, specified as a string. * This could be the courses taken by a student, or a more detailed description about a * Organization role. Container support for this field is OPTIONAL. * * @return a description about the persons work in the organization */ String getDescription(); /** * Set a description or notes about the person's work in the organization, specified as a string. * This could be the courses taken by a student, or a more detailed description about a * Organization role. Container support for this field is OPTIONAL. * * @param description a description about the persons work in the organization */ void setDescription(String description); /** * Get the date the person stopped at the organization, specified as a Date. A null date indicates * that the person is still involved with the organization. Container support for this field is * OPTIONAL. * * @return the date the person stopped at the organization */ Date getEndDate(); /** * Set the date the person stopped at the organization, specified as a Date. A null date indicates * that the person is still involved with the organization. Container support for this field is * OPTIONAL. * * @param endDate the date the person stopped at the organization */ void setEndDate(Date endDate); /** * Get the field the organization is in, specified as a string. This could be the degree pursued * if the organization is a school. Container support for this field is OPTIONAL. * * @return the field the organization is in */ String getField(); /** * Set the field the organization is in, specified as a string. This could be the degree pursued * if the organization is a school. Container support for this field is OPTIONAL. * * @param field the field the organization is in */ void setField(String field); /** * Get the name of the organization, specified as a string. For example, could be a school name or * a job company. Container support for this field is OPTIONAL. * * @return the name of the organization */ String getName(); /** * Set the name of the organization, specified as a string. For example, could be a school name or * a job company. Container support for this field is OPTIONAL. * * @param name the name of the organization */ void setName(String name); /** * Get the salary the person receives from the organization, specified as a string. Container * support for this field is OPTIONAL. * * @return the salary the person receives */ String getSalary(); /** * Set the salary the person receives from the organization, specified as a string. Container * support for this field is OPTIONAL. * * @param salary the salary the person receives */ void setSalary(String salary); /** * Get the date the person started at the organization, specified as a Date. Container support for * this field is OPTIONAL. * * @return the start date at the organization */ Date getStartDate(); /** * Set the date the person started at the organization, specified as a Date. Container support for * this field is OPTIONAL. * * @param startDate the start date at the organization */ void setStartDate(Date startDate); /** * Get the subfield the Organization is in, specified as a string. Container support for this * field is OPTIONAL. * * @return the subfield the Organization is in */ String getSubField(); /** * Set the subfield the Organization is in, specified as a string. Container support for this * field is OPTIONAL. * * @param subField the subfield the Organization is in */ void setSubField(String subField); /** * Get the title or role the person has in the organization, specified as a string. This could be * graduate student, or software engineer. Container support for this field is OPTIONAL. * * @return the title or role the person has in the organization */ String getTitle(); /** * Set the title or role the person has in the organization, specified as a string. This could be * graduate student, or software engineer. Container support for this field is OPTIONAL. * * @param title the title or role the person has in the organization */ void setTitle(String title); /** * Get a webpage related to the organization, specified as a string. Container support for this * field is OPTIONAL. * * @return the URL of a webpage related to the organization */ String getWebpage(); /** * Get a webpage related to the organization, specified as a string. Container support for this * field is OPTIONAL. * * @param webpage the URL of a webpage related to the organization */ void setWebpage(String webpage); /** * Get the type of field for this instance, usually used to label the preferred function of the * given contact information. The type of organization, with Canonical Values <em>job</em> and * <em>school</em>. * * @return the type of the field */ String getType(); /** * Set the type of field for this instance, usually used to label the preferred function of the * given contact information. The type of organization, with Canonical Values <em>job</em> and * <em>school</em>. * * @param type the type of the field */ void setType(String type); /** * Get Boolean value indicating whether this instance of the Plural Field is the primary or * preferred Organization. * * @return true if this is a primary or preferred value */ Boolean getPrimary(); /** * Set Boolean value indicating whether this instance of the Plural Field is the primary or * preferred Organization. * * @param primary true if this is a primary or preferred value */ void setPrimary(Boolean primary); }