001package com.plivo.api.models.powerpack;
002
003import com.fasterxml.jackson.annotation.JsonIgnore;
004import com.plivo.api.models.base.BaseResource;
005
006public class Powerpack extends BaseResource {
007  private String createdOn;
008  private String name;
009  private String application_type;
010  private String application_id;
011  private Boolean sticky_sender;
012  private Boolean local_connect;
013  private String number_pool;
014  private String uuid;
015  public NumberPriority[] number_priority;
016  @JsonIgnore
017  public NumberPool numberpool;
018
019  public static PowerpackCreator creator(String name) {
020    return new PowerpackCreator(name);
021  }
022
023  public static PowerpackGetter getter(String id) {
024    return new PowerpackGetter(id);
025  }
026
027  public static PowerpackLister lister() {
028    return new PowerpackLister();
029  }
030
031  public PowerpackDeleter deleter() {
032    return new PowerpackDeleter(getId());
033  }
034
035  public PowerpackUpdater updater() {
036    return new PowerpackUpdater(getId());
037  }
038
039  public PowerpackNumberLister list_numbers() {
040    return new PowerpackNumberLister(getNumberPoolId());
041  }
042
043  public PowerpackFindNumber find_number() {
044    return new PowerpackFindNumber(getNumberPoolId());
045  }
046
047  public PowerpackAddNumber add_number() {
048    return new PowerpackAddNumber(getNumberPoolId());
049  }
050
051  public PowerpackAddTollfree add_tollfree() {
052    return new PowerpackAddTollfree(getNumberPoolId());
053  }
054
055  public FindShortcode find_shortcode() {
056    return new FindShortcode(getNumberPoolId());
057  }
058
059  public FindTollfree find_tollfree() {
060    return new FindTollfree(getNumberPoolId());
061  }
062
063  public ShortcodeLister list_shortcode() {
064    return new ShortcodeLister(getNumberPoolId());
065  }
066
067  public TollfreeLister list_tollfree() {
068    return new TollfreeLister(getNumberPoolId());
069  }
070
071  public RemoveNumber remove_number() {
072    return new RemoveNumber(getNumberPoolId());
073  }
074
075  public RemoveShortcode remove_shortcode() {
076    return new RemoveShortcode(getNumberPoolId());
077  }
078
079  public RemoveTollfree remove_tollfree() {
080    return new RemoveTollfree(getNumberPoolId());
081  }
082
083  public PowerpackNumberLister count_numbers() {
084    return new PowerpackNumberLister(getNumberPoolId());
085  }
086
087  public BuyAddNumbers buy_add_number() {
088    return new BuyAddNumbers(getNumberPoolId());
089  }
090
091  public String getCreatedOn() {
092    return createdOn;
093  }
094
095  public String getName() {
096    return name;
097  }
098
099  public String getApplication_type() {
100    return application_type;
101  }
102
103  public String getApplication_id() {
104    return application_id;
105  }
106
107  public Boolean getSticky_sender() {
108    return sticky_sender;
109  }
110
111  public Boolean getLocal_connect() {
112    return local_connect;
113  }
114
115  public String getNumber_pool() {
116    return number_pool;
117  }
118
119  public NumberPriority[] getNumber_priority() {
120    return number_priority;
121  }
122
123  public String getUuid() {
124    return uuid;
125  }
126  
127
128  @Override
129  public String getId() {
130    return getUuid();
131  }
132
133  public String getNumberPoolId() {
134          String[] numberpool_uuid = getNumber_pool().split("/");
135          return numberpool_uuid[5];
136  }
137
138}