001package com.plivo.api.models.base; 002 003import com.fasterxml.jackson.annotation.JsonIgnore; 004import com.fasterxml.jackson.core.JsonProcessingException; 005import com.plivo.api.Plivo; 006import com.plivo.api.PlivoClient; 007import com.plivo.api.exceptions.PlivoValidationException; 008 009//@JsonIgnoreProperties(value = {"api_id"}) 010public abstract class BaseResource { 011 private String apiId; 012 013 public String getApiId() { 014 return apiId; 015 } 016 017 public abstract String getId() throws PlivoValidationException; 018 019 protected PlivoClient plivoClient = Plivo.getClient(); 020 021 @JsonIgnore 022 public PlivoClient getPlivoClient() { 023 return plivoClient; 024 } 025 026 public void setPlivoClient(PlivoClient plivoClient) { 027 this.plivoClient = plivoClient; 028 } 029 030 @Override 031 public String toString() { 032 try { 033 return getClass().getCanonicalName() + ": " + plivoClient.getObjectMapper() 034 .writeValueAsString(this); 035 } catch (JsonProcessingException e) { 036 e.printStackTrace(); 037 return null; 038 } 039 } 040}