package FoamXServer;


/**
* FoamXServer/ITypeDescriptorOperations.java .
* Generated by the IDL-to-Java compiler (portable), version "3.1"
* from FoamX.idl
* 22 June 2005 14:41:58 o'clock BST
*/


// -------------------------------------------------------------------------
public interface ITypeDescriptorOperations 
{

  //- The type of this parameter.
  FoamXServer.FoamXType type ();

  //- The type of this parameter.
  void type (FoamXServer.FoamXType newType);

  //- Primitive type flag.
  boolean isPrimitiveType ();

  //- Compound type flag.
  boolean isCompoundType ();

  //- Path of this parameter relative to root dictionary.
  String path ();

  //- Path of this parameter relative to root dictionary.
  void path (String newPath);

  //- Foam parameter name.
  String name ();

  //- Foam parameter name.
  void name (String newName);

  //- Short display name.
  String displayName ();

  //- Short display name.
  void displayName (String newDisplayName);

  //- Long descriptive name.
  String description ();

  //- Long descriptive name.
  void description (String newDescription);

  //- Dictionary comment.
  String comment ();

  //- Dictionary comment.
  void comment (String newComment);

  //- GUI category.
  String category ();

  //- GUI category.
  void category (String newCategory);

  //- URL to relevant help file.
  String helpURL ();

  //- URL to relevant help file.
  void helpURL (String newHelpURL);

  //- URL to a nice icon for this entry.
  String iconURL ();

  //- URL to a nice icon for this entry.
  void iconURL (String newIconURL);

  //  Defaults to false.
  boolean optional ();

  //  Defaults to false.
  void optional (boolean newOptional);

  //  Defaults to true.
  boolean visible ();

  //  Defaults to true.
  void visible (boolean newVisible);

  //  Defaults to true.
  boolean editable ();

  //  Defaults to true.
  void editable (boolean newEditable);

  //- Minimum value for this parameter.
  FoamXServer.FoamXAny minValue ();

  //- Minimum value for this parameter.
  void minValue (FoamXServer.FoamXAny newMinValue);

  //- Maximum value for this parameter.
  FoamXServer.FoamXAny maxValue ();

  //- Maximum value for this parameter.
  void maxValue (FoamXServer.FoamXAny newMaxValue);

  //- Name of dictionary to use as a lookup table.
  String lookupDict ();

  //- Name of dictionary to use as a lookup table.
  void lookupDict (String newLookupDict);

  //- List of permissible values for this parameter.
  FoamXServer.FoamXAny[] valueList ();

  //- List of permissible values for this parameter.
  void valueList (FoamXServer.FoamXAny[] newValueList);

  //- Top-level dictionary location relative to case root.
  String dictionaryPath ();

  //- Top-level dictionary location relative to case root.
  void dictionaryPath (String newDictionaryPath);

  //- Number of vector space elements.
  int numElements ();

  //- Number of vector space elements.
  void numElements (int newNumElements);

  //- Labels of vector space elements (eg, x, y, z).
  String[] elementLabels ();

  //- Labels of vector space elements (eg, x, y, z).
  void elementLabels (String[] newElementLabels);

  //- List of sub-types for compound types.
  FoamXServer.ITypeDescriptor[] subTypes ();

  //- Element type in List of elements.
  FoamXServer.ITypeDescriptor elementType ();
  boolean hasDefaultValue ();
  void getDefaultValue (FoamXServer.IDictionaryEntryHolder defaultValue) throws FoamXServer.FoamXError, FoamXServer.FoamXIOError;

  //- Compound sub-type methods.
  void addSubType (FoamXServer.FoamXType type, FoamXServer.ITypeDescriptorHolder subEntry) throws FoamXServer.FoamXError, FoamXServer.FoamXIOError;
  void removeSubType (FoamXServer.ITypeDescriptor subEntry) throws FoamXServer.FoamXError, FoamXServer.FoamXIOError;

  //  are found.
  void validate () throws FoamXServer.FoamXError, FoamXServer.FoamXIOError, FoamXServer.ValidationError;
} // interface ITypeDescriptorOperations
