/*******************************************************************************
* Copyright (c) 2013 hangum.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Public License v3.0
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/gpl.html
*
* Contributors:
* hangum - initial API and implementation
******************************************************************************/
/**
*/
package com.hangum.tadpole.mongodb.model;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Column</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* <ul>
* <li>{@link com.hangum.tadpole.mongodb.model.Column#getField <em>Field</em>}</li>
* <li>{@link com.hangum.tadpole.mongodb.model.Column#getType <em>Type</em>}</li>
* <li>{@link com.hangum.tadpole.mongodb.model.Column#getDefault <em>Default</em>}</li>
* <li>{@link com.hangum.tadpole.mongodb.model.Column#getTable <em>Table</em>}</li>
* <li>{@link com.hangum.tadpole.mongodb.model.Column#getLogicalField <em>Logical Field</em>}</li>
* <li>{@link com.hangum.tadpole.mongodb.model.Column#getKey <em>Key</em>}</li>
* <li>{@link com.hangum.tadpole.mongodb.model.Column#getComment <em>Comment</em>}</li>
* <li>{@link com.hangum.tadpole.mongodb.model.Column#getSubDoc <em>Sub Doc</em>}</li>
* </ul>
* </p>
*
* @see com.hangum.tadpole.mongodb.model.MongodbPackage#getColumn()
* @model
* @generated
*/
public interface Column extends EObject {
/**
* Returns the value of the '<em><b>Field</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Field</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Field</em>' attribute.
* @see #setField(String)
* @see com.hangum.tadpole.mongodb.model.MongodbPackage#getColumn_Field()
* @model
* @generated
*/
String getField();
/**
* Sets the value of the '{@link com.hangum.tadpole.mongodb.model.Column#getField <em>Field</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Field</em>' attribute.
* @see #getField()
* @generated
*/
void setField(String value);
/**
* 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 com.hangum.tadpole.mongodb.model.MongodbPackage#getColumn_Type()
* @model
* @generated
*/
String getType();
/**
* Sets the value of the '{@link com.hangum.tadpole.mongodb.model.Column#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>Default</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Default</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Default</em>' attribute.
* @see #setDefault(String)
* @see com.hangum.tadpole.mongodb.model.MongodbPackage#getColumn_Default()
* @model
* @generated
*/
String getDefault();
/**
* Sets the value of the '{@link com.hangum.tadpole.mongodb.model.Column#getDefault <em>Default</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Default</em>' attribute.
* @see #getDefault()
* @generated
*/
void setDefault(String value);
/**
* Returns the value of the '<em><b>Table</b></em>' container reference.
* It is bidirectional and its opposite is '{@link com.hangum.tadpole.mongodb.model.Table#getColumns <em>Columns</em>}'.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Table</em>' container reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Table</em>' container reference.
* @see #setTable(Table)
* @see com.hangum.tadpole.mongodb.model.MongodbPackage#getColumn_Table()
* @see com.hangum.tadpole.mongodb.model.Table#getColumns
* @model opposite="columns" required="true" transient="false"
* @generated
*/
Table getTable();
/**
* Sets the value of the '{@link com.hangum.tadpole.mongodb.model.Column#getTable <em>Table</em>}' container reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Table</em>' container reference.
* @see #getTable()
* @generated
*/
void setTable(Table value);
/**
* Returns the value of the '<em><b>Logical Field</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Logical Field</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Logical Field</em>' attribute.
* @see #setLogicalField(String)
* @see com.hangum.tadpole.mongodb.model.MongodbPackage#getColumn_LogicalField()
* @model
* @generated
*/
String getLogicalField();
/**
* Sets the value of the '{@link com.hangum.tadpole.mongodb.model.Column#getLogicalField <em>Logical Field</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Logical Field</em>' attribute.
* @see #getLogicalField()
* @generated
*/
void setLogicalField(String value);
/**
* Returns the value of the '<em><b>Key</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Key</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Key</em>' attribute.
* @see #setKey(String)
* @see com.hangum.tadpole.mongodb.model.MongodbPackage#getColumn_Key()
* @model
* @generated
*/
String getKey();
/**
* Sets the value of the '{@link com.hangum.tadpole.mongodb.model.Column#getKey <em>Key</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Key</em>' attribute.
* @see #getKey()
* @generated
*/
void setKey(String value);
/**
* Returns the value of the '<em><b>Comment</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Comment</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Comment</em>' attribute.
* @see #setComment(String)
* @see com.hangum.tadpole.mongodb.model.MongodbPackage#getColumn_Comment()
* @model
* @generated
*/
String getComment();
/**
* Sets the value of the '{@link com.hangum.tadpole.mongodb.model.Column#getComment <em>Comment</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Comment</em>' attribute.
* @see #getComment()
* @generated
*/
void setComment(String value);
/**
* Returns the value of the '<em><b>Sub Doc</b></em>' containment reference list.
* The list contents are of type {@link com.hangum.tadpole.mongodb.model.Column}.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Sub Doc</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>Sub Doc</em>' containment reference list.
* @see com.hangum.tadpole.mongodb.model.MongodbPackage#getColumn_SubDoc()
* @model containment="true"
* @generated
*/
EList<Column> getSubDoc();
} // Column