![JAR search and dependency download from the Maven repository](/logo.png)
com.pi4j.common.Descriptor Maven / Gradle / Ivy
package com.pi4j.common;
/*-
* #%L
* **********************************************************************
* ORGANIZATION : Pi4J
* PROJECT : Pi4J :: LIBRARY :: Java Library (CORE)
* FILENAME : Descriptor.java
*
* This file is part of the Pi4J project. More information about
* this project can be found here: https://pi4j.com/
* **********************************************************************
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
import com.pi4j.common.impl.DescriptorImpl;
import java.io.PrintStream;
/**
* Descriptor interface.
*
* @author Robert Savage (http://www.savagehomeautomation.com)
* @version $Id: $Id
*/
public interface Descriptor {
/**
* id.
*
* @param id a {@link java.lang.String} object.
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor id(String id);
/**
* name.
*
* @param name a {@link java.lang.String} object.
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor name(String name);
/**
* description.
*
* @param description a {@link java.lang.String} object.
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor description(String description);
/**
* category.
*
* @param category a {@link java.lang.String} object.
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor category(String category);
/**
* quantity.
*
* @param quantity a {@link java.lang.Integer} object.
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor quantity(Integer quantity);
/**
* type.
*
* @param type a {@link java.lang.Class} object.
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor type(Class type);
/**
* parent.
*
* @param parent a {@link com.pi4j.common.Descriptor} object.
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor parent(Descriptor parent);
/**
* value.
*
* @param value a {@link java.lang.Object} object.
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor value(Object value);
/**
* id.
*
* @return a {@link java.lang.String} object.
*/
String id();
/**
* name.
*
* @return a {@link java.lang.String} object.
*/
String name();
/**
* category.
*
* @return a {@link java.lang.String} object.
*/
String category();
/**
* description.
*
* @return a {@link java.lang.String} object.
*/
String description();
/**
* quantity.
*
* @return a {@link java.lang.Integer} object.
*/
Integer quantity();
/**
* value.
*
* @return a {@link java.lang.Object} object.
*/
Object value();
/**
* type.
*
* @return a {@link java.lang.Class} object.
*/
Class type();
/**
* parent.
*
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor parent();
/**
* create.
*
* @return a {@link com.pi4j.common.Descriptor} object.
*/
static Descriptor create(){
return new DescriptorImpl();
}
/**
* add.
*
* @param descriptor a {@link com.pi4j.common.Descriptor} object.
* @return a {@link com.pi4j.common.Descriptor} object.
*/
Descriptor add(Descriptor descriptor);
/**
* size.
*
* @return a int.
*/
int size();
/**
* isEmpty.
*
* @return a boolean.
*/
boolean isEmpty();
/**
* isNotEmpty.
*
* @return a boolean.
*/
boolean isNotEmpty();
/**
* print.
*
* @param stream a {@link java.io.PrintStream} object.
*/
void print(PrintStream stream);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy