Package com.esri.gpt.catalog.arcgis.agportal.itemInfo

Source Code of com.esri.gpt.catalog.arcgis.agportal.itemInfo.ESRI_ItemInformation

/* See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* Esri Inc. licenses this file to You 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 com.esri.gpt.catalog.arcgis.agportal.itemInfo;

import com.esri.gpt.framework.geometry.Envelope;
import com.esri.gpt.framework.util.Val;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
* Stores resource metadata information.
* NOTE! This is EXPERIMENTAL feature. It might be removed at any time in the future.
* @see <a href="http://dev.arcgisonline.com/apidocs/sharing/useritem.html">http://dev.arcgisonline.com/apidocs/sharing/useritem.html</a>
*/
public class ESRI_ItemInformation {

  /** instance variables ====================================================== */
  private String name = "";
  private String title = "";
  private String thumbnail = "";
  private String thumbnailUrl = "";
  private String type = "";
  private List<String> typeKeywords = new ArrayList<String>();
  private String description = "";
  private List<String> tags = new ArrayList<String>();
  private String snippet = "";
  private Envelope extent = new Envelope();
  private String accessInformation = "";
  private String licenseInfo = "";
  private String culture = "";
 
  private String id = "";
  private String item = "";
  private String itemType = "";
  private String owner = "";
  private Date   uploadedDate;
  private Date   modifiedDate;
  private String guid = "";
  private String url = "";
  private String access = "";
  private long   size;
  private long   numComments;
  private long   numRatings;
  private double avgRating;
  private long   numViews;
  private String sharingAccess = "";
  private List<String> sharingGroups = new ArrayList<String>();
  private String documentation = "";

 
  /**
   * Creates instance of the item information
   */
  public ESRI_ItemInformation() {
  }

  /**
   * properties variables ======================================================
   */
  /**
   * Gets name.
   * @return name
   */
  public String getName() {
    return name;
  }

  /**
   * Sets name.
   * @param name name
   */
  public void setName(String name) {
    this.name = Val.chkStr(name);
  }

  /**
   * Gets thumbnail.
   * @return thumbnail
   */
  public String getThumbnail() {
    return thumbnail;
  }

  /**
   * Sets thumbnail.
   * @param thumbnail thumbnail
   */
  public void setThumbnail(String thumbnail) {
    this.thumbnail = Val.chkStr(thumbnail);
  }

  /**
   * Gets thumbnail URL.
   * @return thumbnail URL
   */
  public String getThumbnailUrl() {
    return thumbnailUrl;
  }

  /**
   * Sets thumbnail URL.
   * @param thumbnailUrl thumbnail URL
   */
  public void setThumbnailUrl(String thumbnailUrl) {
    this.thumbnailUrl = Val.chkStr(thumbnailUrl);
  }

  /**
   * Gets id.
   * @return id
   */
  public String getId() {
    return id;
  }

  /**
   * Sets id.
   * @param id id
   */
  public void setId(String id) {
    this.id = Val.chkStr(id);
  }

  /**
   * Gets item.
   * @return item
   */
  public String getItem() {
    return item;
  }

  /**
   * Sets item.
   * @param item item
   */
  public void setItem(String item) {
    this.item = Val.chkStr(item);
  }

  /**
   * Gets item type.
   * @return item type
   */
  public String getItemType() {
    return itemType;
  }

  /**
   * Sets item type.
   * @param itemType item type
   */
  public void setItemType(String itemType) {
    this.itemType = Val.chkStr(itemType);
  }

  /**
   * Gets title.
   * @return title
   */
  public String getTitle() {
    return title;
  }

  /**
   * Sets title.
   * @param title title
   */
  public void setTitle(String title) {
    this.title = Val.chkStr(title);
  }

  /**
   * Gets description.
   * @return description
   */
  public String getDescription() {
    return description;
  }

  /**
   * Sets description.
   * @param description description
   */
  public void setDescription(String description) {
    this.description = Val.chkStr(description);
  }

  /**
   * Gets snippet.
   * @return snippet
   */
  public String getSnippet() {
    return snippet;
  }

  /**
   * Sets snippet.
   * @param snippet snippet
   */
  public void setSnippet(String snippet) {
    this.snippet = Val.chkStr(snippet);
  }

  /**
   * Gets URL.
   * @return  URL
   */
  public String getUrl() {
    return url;
  }

  /**
   * Sets URL.
   * @param url URL
   */
  public void setUrl(String url) {
    this.url = Val.chkStr(url);
  }

  /**
   * Gets typeKeywords.
   * @return the typeKeywords list of typeKeywords
   */
  public List<String> getTypeKeywords() {
    return typeKeywords;
  }

  /**
   * Gets typeKeywords as string.
   * @return typeKeywords as space separated string
   */
  public String getTypeKeywordsAsString() {
    return asString(typeKeywords, " ");
  }

  /**
   * Sets typeKeywords.
   * @param typeKeywords list of typeKeywords
   */
  public void setTypeKeywords(List<String> typeKeywords) {
    this.typeKeywords = typeKeywords != null ? typeKeywords : new ArrayList<String>();
  }

  /**
   * Gets type.
   * @return the type
   */
  public String getType() {
    return type;
  }

  /**
   * Sets type.
   * @param type
   *          the type to set
   */
  public void setType(String type) {
    this.type = Val.chkStr(type);
  }

  /**
   * Gets tags as string.
   * @return tags as space separated string
   */
  public String getTagsAsString() {
    return asString(tags, ", ");
  }

  /**
   * Gets tags.
   * @return list of tags
   */
  public List<String> getTags() {
    return tags;
  }

  /**
   * Sets tags.
   * @param tags list of tags
   */
  public void setTags(List<String> tags) {
    this.tags = tags != null ? tags : new ArrayList<String>();
  }

  /**
   * Gets modified date.
   * @return  modified date
   */
  public Date getModifiedDate() {
    return modifiedDate;
  }
 
  /**
   * Sets modified date.
   * @param date  modified date
   */
  public void setModifiedDate(Date date) {
    this.modifiedDate = date;
  }

  /**
   * Gets uploaded date.
   * @return uploaded date
   */
  public Date getUploadedDate() {
    return uploadedDate;
  }

  /**
   * Sets uploaded date.
   * @param date uploaded date
   */
  public void setUploadedDate(Date date) {
    this.uploadedDate = date;
  }
 
  /**
   * Sets extent.
   * @param extent extent
   */
  public void setExtent(Envelope extent) {
    this.extent = extent!=null? extent: new Envelope();
  }

  /**
   * Gets extent.
   * @return extent
   */
  public Envelope getExtent() {
    return extent;
  }

  /**
   * Gets accessInformation.
   * @return accessInformation
   */
  public String getAccessInformation() {
    return accessInformation;
  }

  /**
   * Sets accessInformation.
   * @param accessInformation accessInformation
   */
  public void setAccessInformation(String accessInformation) {
    this.accessInformation = Val.chkStr(accessInformation);
  }

  /**
   * Gets license info.
   * @return license info
   */
  public String getLicenseInfo() {
    return licenseInfo;
  }

  /**
   * Sets license info.
   * @param licenseInfo license info
   */
  public void setLicenseInfo(String licenseInfo) {
    this.licenseInfo = Val.chkStr(licenseInfo);
  }

  /**
   * Gets culture.
   * @return culture
   */
  public String getCulture() {
    return culture;
  }

  /**
   * Sets culture.
   * @param culture culture
   */
  public void setCulture(String culture) {
    this.culture = Val.chkStr(culture);
  }

  /**
   * Gets owner.
   * @return owner
   */
  public String getOwner() {
    return owner;
  }

  /**
   * Sets owner.
   * @param owner owner
   */
  public void setOwner(String owner) {
    this.owner = Val.chkStr(owner);
  }

  /**
   * Gets access.
   * @return access
   */
  public String getAccess() {
    return access;
  }

  /**
   * Sets access.
   * @param access access
   */
  public void setAccess(String access) {
    this.access = Val.chkStr(access);
  }

  /**
   * Gets average rating.
   * @return average rating
   */
  public double getAvgRating() {
    return avgRating;
  }

  /**
   * Sets average rating.
   * @param avgRating average rating
   */
  public void setAvgRating(double avgRating) {
    this.avgRating = avgRating;
  }

  /**
   * Gets number of comments.
   * @return number of comments
   */
  public long getNumComments() {
    return numComments;
  }

  /**
   * Sets number of comments.
   * @param numComments number of comments
   */
  public void setNumComments(long numComments) {
    this.numComments = numComments;
  }

  /**
   * Gets number of ratings.
   * @return number of ratings
   */
  public long getNumRatings() {
    return numRatings;
  }

  /**
   * Sets number of ratings.
   * @param numRatings number of ratings
   */
  public void setNumRatings(long numRatings) {
    this.numRatings = numRatings;
  }

  /**
   * Gets number of reviews.
   * @return number of reviews
   */
  public long getNumViews() {
    return numViews;
  }

  /**
   * Sets number of reviews.
   * @param numViews number of reviews
   */
  public void setNumViews(long numViews) {
    this.numViews = numViews;
  }

  /**
   * Gets sharing access.
   * @return sharing access
   */
  public String getSharingAccess() {
    return sharingAccess;
  }

  /**
   * Sets sharing access.
   * @param sharingAccess sharing access
   */
  public void setSharingAccess(String sharingAccess) {
    this.sharingAccess = Val.chkStr(sharingAccess);
  }

  /**
   * Gets size.
   * @return size
   */
  public long getSize() {
    return size;
  }

  /**
   * Sets size.
   * @param size size
   */
  public void setSize(long size) {
    this.size = size;
  }

  /**
   * Gets guid.
   * @return guid
   */
  public String getGuid() {
    return guid;
  }

  /**
   * Sets guid.
   * @param guid guid
   */
  public void setGuid(String guid) {
    this.guid = Val.chkStr(guid);
  }

  /**
   * Gets sharingGroups.
   * @return list of sharingGroups
   */
  public List<String> getSharingGroups() {
    return sharingGroups;
  }

  /**
   * Sets sharingGroups
   * @param sharingGroups list of sharingGroups
   */
  public void setSharingGroups(List<String> sharingGroups) {
    this.sharingGroups = sharingGroups!=null? sharingGroups: new ArrayList<String>();
  }

  /**
   * Gets documentation.
   * @return documentation
   */
  public String getDocumentation() {
    return documentation;
  }

  /**
   * Sets documentation.
   * @param documentation
   */
  public void setDocumentation(String documentation) {
    this.documentation = Val.chkStr(documentation);
  }

  @Override
  public String toString() {
    return title + " ("+id+")";
  }

  @Override
  public boolean equals(Object obj) {
    if (!(obj instanceof ESRI_ItemInformation)) return false;
    ESRI_ItemInformation ii = (ESRI_ItemInformation)obj;
    if(!name.equals(ii.name)) return false;
    if(!title.equals(ii.title)) return false;
    if(!thumbnail.equals(ii.thumbnail)) return false;
    if(!thumbnailUrl.equals(ii.thumbnailUrl)) return false;
    if(!type.equals(ii.type)) return false;
    if(!typeKeywords.equals(ii.typeKeywords)) return false;
    if(!description.equals(ii.description)) return false;
    if(!tags.equals(ii.tags)) return false;
    if(!snippet.equals(ii.snippet)) return false;
    if(!extent.equals(ii.extent)) return false;
    if(!accessInformation.equals(ii.accessInformation)) return false;
    if(!licenseInfo.equals(ii.licenseInfo)) return false;
    if(!culture.equals(ii.culture)) return false;
    if(!id.equals(ii.id)) return false;
    if(!item.equals(ii.item)) return false;
    if(!itemType.equals(ii.itemType)) return false;
    if(!owner.equals(ii.owner)) return false;
    if((uploadedDate!=null && !uploadedDate.equals(ii.uploadedDate)) || (uploadedDate==null && ii.uploadedDate!=null)) return false;
    if((modifiedDate!=null && !modifiedDate.equals(ii.modifiedDate)) || (modifiedDate==null && ii.modifiedDate!=null)) return false;
    if(!guid.equals(ii.guid)) return false;
    if(!url.equals(ii.url)) return false;
    if(!access.equals(ii.access)) return false;
    if(size!=ii.size) return false;
    if(numComments!=ii.numComments) return false;
    if(numRatings!=ii.numRatings) return false;
    if(avgRating!=ii.avgRating) return false;
    if(numViews!=ii.numViews) return false;
    if(!sharingAccess.equals(ii.sharingAccess)) return false;
    if(!sharingGroups.equals(ii.sharingGroups)) return false;
    if(!documentation.equals(ii.documentation)) return false;
    return true;
  }
 
  /**
   * Gets array of strings as a single string.
   * @param array array of strings
   * @param separator separator
   * @return ESRI_ItemInformation as string
   */
  private String asString(List<String> array, String separator) {
    separator = Val.chkStr(separator);
    if (separator.length() == 0) {
      separator = " ";
    }
    StringBuilder sb = new StringBuilder();
    if (array != null) {
      for (String a : array) {
        a = Val.chkStr(a);
        if (a.length() > 0) {
          if (sb.length() > 0) {
            sb.append(separator);
          }
          sb.append(a);
        }
      }
    }
    return sb.toString();
  }
}
TOP

Related Classes of com.esri.gpt.catalog.arcgis.agportal.itemInfo.ESRI_ItemInformation

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.