
com.woorea.openstack.keystone.v3.api.GenericResource Maven / Gradle / Ivy
/*******************************************************************************
* Copyright (C) 2016 AT&T Intellectual Property. All rights reserved. This code is licensed under the Apache License, Version 2.0
*******************************************************************************/
package com.woorea.openstack.keystone.v3.api;
import com.woorea.openstack.base.client.Entity;
import com.woorea.openstack.base.client.HttpMethod;
import com.woorea.openstack.base.client.OpenStackClient;
import com.woorea.openstack.base.client.OpenStackRequest;
public class GenericResource {
protected final OpenStackClient CLIENT;
protected CharSequence path;
protected Class oneClass;
protected Class manyClass;
public GenericResource(OpenStackClient client, CharSequence path, Class oneClass, Class manyClass) {
CLIENT = client;
this.path = path;
this.oneClass = oneClass;
this.manyClass = manyClass;
}
public OpenStackRequest list() {
return new OpenStackRequest(CLIENT, HttpMethod.GET, path, null, manyClass);
}
public OpenStackRequest create(One one) {
return new OpenStackRequest(CLIENT, HttpMethod.POST, path, Entity.json(one), oneClass);
}
public OpenStackRequest show(String id) {
return new OpenStackRequest(CLIENT, HttpMethod.GET, new StringBuilder(path).append("/").append(id).toString(), null, oneClass);
}
public OpenStackRequest update(String id, One one) {
return new OpenStackRequest(CLIENT, HttpMethod.PATCH, new StringBuilder(path).append("/").append(id).toString(), Entity.json(one), oneClass);
}
public OpenStackRequest delete(String id) {
return new OpenStackRequest(CLIENT, HttpMethod.DELETE, new StringBuilder(path).append("/").append(id).toString(), null, oneClass);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy