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

com.softlayer.api.service.configuration.template.section.Reference Maven / Gradle / Ivy

There is a newer version: 0.3.4
Show newest version
package com.softlayer.api.service.configuration.template.section;

import com.softlayer.api.ApiClient;
import com.softlayer.api.ResponseHandler;
import com.softlayer.api.annotation.ApiMethod;
import com.softlayer.api.annotation.ApiProperty;
import com.softlayer.api.annotation.ApiType;
import com.softlayer.api.service.Entity;
import com.softlayer.api.service.configuration.Template;
import com.softlayer.api.service.configuration.template.Section;
import java.util.GregorianCalendar;
import java.util.concurrent.Future;

/**
 * The SoftLayer_Configuration_Template_Section_Reference data type contains information of a configuration section and its associated configuration template. 
 *
 * @see SoftLayer_Configuration_Template_Section_Reference
 */
@ApiType("SoftLayer_Configuration_Template_Section_Reference")
public class Reference extends Entity {

    @ApiProperty
    protected Section section;

    public Section getSection() {
        return section;
    }

    public void setSection(Section section) {
        this.section = section;
    }

    @ApiProperty
    protected Template template;

    public Template getTemplate() {
        return template;
    }

    public void setTemplate(Template template) {
        this.template = template;
    }

    /**
     * Created date
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected GregorianCalendar createDate;

    public GregorianCalendar getCreateDate() {
        return createDate;
    }

    public void setCreateDate(GregorianCalendar createDate) {
        createDateSpecified = true;
        this.createDate = createDate;
    }

    protected boolean createDateSpecified;

    public boolean isCreateDateSpecified() {
        return createDateSpecified;
    }

    public void unsetCreateDate() {
        createDate = null;
        createDateSpecified = false;
    }

    /**
     * Internal identifier of a configuration section reference.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long id;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        idSpecified = true;
        this.id = id;
    }

    protected boolean idSpecified;

    public boolean isIdSpecified() {
        return idSpecified;
    }

    public void unsetId() {
        id = null;
        idSpecified = false;
    }

    /**
     * Modified date
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected GregorianCalendar modifyDate;

    public GregorianCalendar getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(GregorianCalendar modifyDate) {
        modifyDateSpecified = true;
        this.modifyDate = modifyDate;
    }

    protected boolean modifyDateSpecified;

    public boolean isModifyDateSpecified() {
        return modifyDateSpecified;
    }

    public void unsetModifyDate() {
        modifyDate = null;
        modifyDateSpecified = false;
    }

    /**
     * Internal identifier of a configuration section.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long sectionId;

    public Long getSectionId() {
        return sectionId;
    }

    public void setSectionId(Long sectionId) {
        sectionIdSpecified = true;
        this.sectionId = sectionId;
    }

    protected boolean sectionIdSpecified;

    public boolean isSectionIdSpecified() {
        return sectionIdSpecified;
    }

    public void unsetSectionId() {
        sectionId = null;
        sectionIdSpecified = false;
    }

    /**
     * Internal identifier of a configuration template.
     */
    @ApiProperty(canBeNullOrNotSet = true)
    protected Long templateId;

    public Long getTemplateId() {
        return templateId;
    }

    public void setTemplateId(Long templateId) {
        templateIdSpecified = true;
        this.templateId = templateId;
    }

    protected boolean templateIdSpecified;

    public boolean isTemplateIdSpecified() {
        return templateIdSpecified;
    }

    public void unsetTemplateId() {
        templateId = null;
        templateIdSpecified = false;
    }

    public Service asService(ApiClient client) {
        return service(client, id);
    }

    public static Service service(ApiClient client) {
        return client.createService(Service.class, null);
    }

    public static Service service(ApiClient client, Long id) {
        return client.createService(Service.class, id == null ? null : id.toString());
    }

    /**
     * Configuration section reference allow you to reuse a configuration section from another configuration template. 
     *
     * @see SoftLayer_Configuration_Template_Section_Reference
     */
    @com.softlayer.api.annotation.ApiService("SoftLayer_Configuration_Template_Section_Reference")
    public static interface Service extends com.softlayer.api.Service {

        public ServiceAsync asAsync();
        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * @see SoftLayer_Configuration_Template_Section_Reference::getObject
         */
        @ApiMethod(instanceRequired = true)
        public Reference getObject();

        /**
         * @see SoftLayer_Configuration_Template_Section_Reference::getSection
         */
        @ApiMethod(instanceRequired = true)
        public Section getSection();

        /**
         * @see SoftLayer_Configuration_Template_Section_Reference::getTemplate
         */
        @ApiMethod(instanceRequired = true)
        public Template getTemplate();

    }

    public static interface ServiceAsync extends com.softlayer.api.ServiceAsync {

        public Mask withNewMask();
        public Mask withMask();
        public void setMask(Mask mask);

        /**
         * Async version of {@link Service#getObject}
         */
        public Future getObject();

        public Future getObject(ResponseHandler callback);

        /**
         * Async version of {@link Service#getSection}
         */
        public Future
getSection(); /** * Async callback version of {@link Service#getSection} */ public Future getSection(ResponseHandler
callback); /** * Async version of {@link Service#getTemplate} */ public Future