| /** |
| * Copyright (c) 2018 CEA |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Jérémie Tatibouet (CEA) jeremie.tatibouet@cea.fr - Initial API and implementation |
| * Benoit Maggi (CEA) benoit.maggi@cea.fr - Initial API and implementation |
| * Shuai Li (CEA) shuai.li@cea.fr - Integration of sensiNact and Web of Things Thing Description |
| * |
| */ |
| package org.eclipse.papyrus.iotml.wot; |
| |
| import org.eclipse.emf.common.util.EList; |
| |
| import org.eclipse.emf.ecore.EClass; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.uml2.uml.Property; |
| import org.eclipse.uml2.uml.Type; |
| import org.eclipse.uml2.uml.TypedElement; |
| |
| /** |
| * <!-- begin-user-doc --> |
| * A representation of the model object '<em><b>Data Schema</b></em>'. |
| * <!-- end-user-doc --> |
| * |
| * <p> |
| * The following features are supported: |
| * </p> |
| * <ul> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getTitle <em>Title</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getDescription <em>Description</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getBase_TypedElement <em>Base Typed Element</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getEnum <em>Enum</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getRequired <em>Required</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getItems <em>Items</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getProperties <em>Properties</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getAType <em>AType</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#isWriteOnly <em>Write Only</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getFormat <em>Format</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getOneOf <em>One Of</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getType <em>Type</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getConst <em>Const</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getMinItems <em>Min Items</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#getMaxItems <em>Max Items</em>}</li> |
| * <li>{@link org.eclipse.papyrus.iotml.wot.DataSchema#isReadOnly <em>Read Only</em>}</li> |
| * </ul> |
| * |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema() |
| * @model |
| * @generated |
| */ |
| public interface DataSchema extends EObject { |
| /** |
| * Returns the value of the '<em><b>Title</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Title</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Title</em>' attribute. |
| * @see #setTitle(String) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Title() |
| * @model dataType="org.eclipse.uml2.types.String" required="true" transient="true" volatile="true" derived="true" ordered="false" |
| * @generated |
| */ |
| String getTitle(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#getTitle <em>Title</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Title</em>' attribute. |
| * @see #getTitle() |
| * @generated |
| */ |
| void setTitle(String value); |
| |
| /** |
| * Returns the value of the '<em><b>Description</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Description</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Description</em>' attribute. |
| * @see #setDescription(String) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Description() |
| * @model dataType="org.eclipse.uml2.types.String" required="true" transient="true" volatile="true" derived="true" ordered="false" |
| * @generated |
| */ |
| String getDescription(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#getDescription <em>Description</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Description</em>' attribute. |
| * @see #getDescription() |
| * @generated |
| */ |
| void setDescription(String value); |
| |
| /** |
| * Returns the value of the '<em><b>Base Typed Element</b></em>' reference. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Base Typed Element</em>' reference isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Base Typed Element</em>' reference. |
| * @see #setBase_TypedElement(TypedElement) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Base_TypedElement() |
| * @model ordered="false" |
| * @generated |
| */ |
| TypedElement getBase_TypedElement(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#getBase_TypedElement <em>Base Typed Element</em>}' reference. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Base Typed Element</em>' reference. |
| * @see #getBase_TypedElement() |
| * @generated |
| */ |
| void setBase_TypedElement(TypedElement value); |
| |
| /** |
| * Returns the value of the '<em><b>Enum</b></em>' attribute list. |
| * The list contents are of type {@link java.lang.String}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Enum</em>' reference list isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Enum</em>' attribute list. |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Enum() |
| * @model dataType="org.eclipse.uml2.types.String" ordered="false" |
| * @generated |
| */ |
| EList<String> getEnum(); |
| |
| /** |
| * Returns the value of the '<em><b>Required</b></em>' reference list. |
| * The list contents are of type {@link org.eclipse.uml2.uml.Property}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Required</em>' reference list isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Required</em>' reference list. |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Required() |
| * @model ordered="false" |
| * @generated |
| */ |
| EList<Property> getRequired(); |
| |
| /** |
| * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Required</b></em>' reference list. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>. |
| * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>. |
| * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>. |
| * @see #getRequired() |
| * @generated |
| */ |
| Property getRequired(String name, Type type); |
| |
| /** |
| * Retrieves the first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>' from the '<em><b>Required</b></em>' reference list. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param name The '<em><b>Name</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>. |
| * @param type The '<em><b>Type</b></em>' of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>. |
| * @param ignoreCase Whether to ignore case in {@link java.lang.String} comparisons. |
| * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.Property} to retrieve, or <code>null</code>. |
| * @return The first {@link org.eclipse.uml2.uml.Property} with the specified '<em><b>Name</b></em>', and '<em><b>Type</b></em>', or <code>null</code>. |
| * @see #getRequired() |
| * @generated |
| */ |
| Property getRequired(String name, Type type, boolean ignoreCase, EClass eClass); |
| |
| /** |
| * Returns the value of the '<em><b>Items</b></em>' reference list. |
| * The list contents are of type {@link org.eclipse.papyrus.iotml.wot.DataSchema}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Items</em>' reference list isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Items</em>' reference list. |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Items() |
| * @model ordered="false" |
| * @generated |
| */ |
| EList<DataSchema> getItems(); |
| |
| /** |
| * Returns the value of the '<em><b>Properties</b></em>' reference list. |
| * The list contents are of type {@link org.eclipse.papyrus.iotml.wot.DataSchema}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Properties</em>' reference list isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Properties</em>' reference list. |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Properties() |
| * @model ordered="false" |
| * @generated |
| */ |
| EList<DataSchema> getProperties(); |
| |
| /** |
| * Returns the value of the '<em><b>AType</b></em>' reference list. |
| * The list contents are of type {@link org.eclipse.papyrus.iotml.wot.Type}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>AType</em>' reference list isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>AType</em>' reference list. |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_AType() |
| * @model ordered="false" |
| * @generated |
| */ |
| EList<org.eclipse.papyrus.iotml.wot.Type> getAType(); |
| |
| /** |
| * Returns the value of the '<em><b>Write Only</b></em>' attribute. |
| * The default value is <code>"false"</code>. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Write Only</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Write Only</em>' attribute. |
| * @see #setWriteOnly(boolean) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_WriteOnly() |
| * @model default="false" dataType="org.eclipse.uml2.types.Boolean" required="true" ordered="false" |
| * @generated |
| */ |
| boolean isWriteOnly(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#isWriteOnly <em>Write Only</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Write Only</em>' attribute. |
| * @see #isWriteOnly() |
| * @generated |
| */ |
| void setWriteOnly(boolean value); |
| |
| /** |
| * Returns the value of the '<em><b>Format</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Format</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Format</em>' attribute. |
| * @see #setFormat(String) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Format() |
| * @model dataType="org.eclipse.uml2.types.String" ordered="false" |
| * @generated |
| */ |
| String getFormat(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#getFormat <em>Format</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Format</em>' attribute. |
| * @see #getFormat() |
| * @generated |
| */ |
| void setFormat(String value); |
| |
| /** |
| * Returns the value of the '<em><b>One Of</b></em>' reference list. |
| * The list contents are of type {@link org.eclipse.papyrus.iotml.wot.DataSchema}. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>One Of</em>' reference list isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>One Of</em>' reference list. |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_OneOf() |
| * @model ordered="false" |
| * @generated |
| */ |
| EList<DataSchema> getOneOf(); |
| |
| /** |
| * Returns the value of the '<em><b>Type</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Type</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Type</em>' attribute. |
| * @see #setType(String) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Type() |
| * @model dataType="org.eclipse.uml2.types.String" required="true" transient="true" volatile="true" derived="true" ordered="false" |
| * @generated |
| */ |
| String getType(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#getType <em>Type</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Type</em>' attribute. |
| * @see #getType() |
| * @generated |
| */ |
| void setType(String value); |
| |
| /** |
| * Returns the value of the '<em><b>Const</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Const</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Const</em>' attribute. |
| * @see #setConst(String) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_Const() |
| * @model dataType="org.eclipse.uml2.types.String" required="true" transient="true" volatile="true" derived="true" ordered="false" |
| * @generated |
| */ |
| String getConst(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#getConst <em>Const</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Const</em>' attribute. |
| * @see #getConst() |
| * @generated |
| */ |
| void setConst(String value); |
| |
| /** |
| * Returns the value of the '<em><b>Min Items</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Min Items</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Min Items</em>' attribute. |
| * @see #setMinItems(int) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_MinItems() |
| * @model dataType="org.eclipse.uml2.types.Integer" required="true" transient="true" volatile="true" derived="true" ordered="false" |
| * @generated |
| */ |
| int getMinItems(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#getMinItems <em>Min Items</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Min Items</em>' attribute. |
| * @see #getMinItems() |
| * @generated |
| */ |
| void setMinItems(int value); |
| |
| /** |
| * Returns the value of the '<em><b>Max Items</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Max Items</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Max Items</em>' attribute. |
| * @see #setMaxItems(int) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_MaxItems() |
| * @model dataType="org.eclipse.uml2.types.Integer" required="true" transient="true" volatile="true" derived="true" ordered="false" |
| * @generated |
| */ |
| int getMaxItems(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#getMaxItems <em>Max Items</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Max Items</em>' attribute. |
| * @see #getMaxItems() |
| * @generated |
| */ |
| void setMaxItems(int value); |
| |
| /** |
| * Returns the value of the '<em><b>Read Only</b></em>' attribute. |
| * <!-- begin-user-doc --> |
| * <p> |
| * If the meaning of the '<em>Read Only</em>' attribute isn't clear, |
| * there really should be more of a description here... |
| * </p> |
| * <!-- end-user-doc --> |
| * @return the value of the '<em>Read Only</em>' attribute. |
| * @see #setReadOnly(boolean) |
| * @see org.eclipse.papyrus.iotml.wot.WoTPackage#getDataSchema_ReadOnly() |
| * @model dataType="org.eclipse.uml2.types.Boolean" required="true" transient="true" volatile="true" derived="true" ordered="false" |
| * @generated |
| */ |
| boolean isReadOnly(); |
| |
| /** |
| * Sets the value of the '{@link org.eclipse.papyrus.iotml.wot.DataSchema#isReadOnly <em>Read Only</em>}' attribute. |
| * <!-- begin-user-doc --> |
| * <!-- end-user-doc --> |
| * @param value the new value of the '<em>Read Only</em>' attribute. |
| * @see #isReadOnly() |
| * @generated |
| */ |
| void setReadOnly(boolean value); |
| |
| } // DataSchema |