All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openstack4j.model.common.builder.BasicResourceBuilder Maven / Gradle / Ivy

package org.openstack4j.model.common.builder;

import org.openstack4j.model.common.BasicResource;

/**
 * Abstract Basic Resource Builder
 *
 * @param  the model type
 * @param  the builder type
 */
public abstract class BasicResourceBuilder> {

	/**
	 * Sets the name on the resource
	 *
	 * @param name the name
	 * @return the builder
	 */
	public T name(String name) {
		reference().setName(name);
		return self();
	}
	
	/**
	 * Sets the Id.
	 *
	 * @param id the identifier
	 * @return the builder
	 */
	public T id(String id) {
		reference().setId(id);
		return self();
	}
	
	@SuppressWarnings("unchecked")
	protected T self() {
		return (T) this;
	}
	
	protected abstract M reference();
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy