## org.metaabm
Interface SImplementation

All Superinterfaces:
  org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier

All Known Implementing Classes:
  SImplementationImpl

    public interface SImplementation

extends org.eclipse.emf.ecore.EObject

Method Summary
`java.lang.String` `derive(Derivable derivable)` If this object's value for the derived parent is null, return the parent's value for the derivable.
`java.lang.String` `getBasePath()` Returns the value of the 'Base Path' attribute.
`java.lang.String` `getBinDir()` Returns the value of the 'Bin Dir' attribute.
`java.lang.String` `getClassFileLoc()` Returns the value of the 'Class File Loc' attribute.
`java.lang.String` `getClassName()` Returns the value of the 'Class Name' attribute.
`java.lang.String` `getDerivedBinDir()` Returns the value of the 'Derived Bin Dir' attribute.
`java.lang.String` `getDerivedPackage()` Returns the value of the 'Derived Package' attribute.
`java.lang.String` `getDerivedPath()` Returns the value of the 'Derived Path' attribute.
`java.lang.String` `getDerivedSrcDir()` Returns the value of the 'Derived Src Dir' attribute.
`java.lang.String` `getJavaFileLoc()` Returns the value of the 'Java File Loc' attribute.
`SImplementationMode` `getMode()` Returns the value of the 'Mode' attribute.
`java.lang.String` `getPackage()` Returns the value of the 'Package' attribute.
`java.lang.String` `getPackagePath()`
`java.lang.String` `getQualifiedName()` Returns the value of the 'Qualified Name' attribute.
`java.lang.String` `getSrcDir()` Returns the value of the 'Src Dir' attribute.
`SImplemented` `getTarget()` Returns the value of the 'Target' container reference.
`void` `setBasePath(java.lang.String value)` Sets the value of the '`Base Path`' attribute.
`void` `setBinDir(java.lang.String value)` Sets the value of the '`Bin Dir`' attribute.
`void` `setClassName(java.lang.String value)` Sets the value of the '`Class Name`' attribute.
`void` `setMode(SImplementationMode value)` Sets the value of the '`Mode`' attribute.
`void` `setPackage(java.lang.String value)` Sets the value of the '`Package`' attribute.
`void` `setSrcDir(java.lang.String value)` Sets the value of the '`Src Dir`' attribute.
`void` `setTarget(SImplemented value)` Sets the value of the '`Target`' container reference.

Methods inherited from interface org.eclipse.emf.ecore.EObject
`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Method Detail

### getPackage

    java.lang.String getPackage()

  Returns the value of the 'Package' attribute.

  If the meaning of the 'Package' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Package' attribute.
  See Also:
    `setPackage(String)`, `MetaABMPackage.getSImplementation_Package()`

### setPackage

    void setPackage(java.lang.String value)

  Sets the value of the '`Package`' attribute.

  Parameters:
    `value` - the new value of the 'Package' attribute.
  See Also:
    `getPackage()`

### getClassName

    java.lang.String getClassName()

  Returns the value of the 'Class Name' attribute.

  If the meaning of the 'Class Name' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Class Name' attribute.
  See Also:
    `setClassName(String)`, `MetaABMPackage.getSImplementation_ClassName()`

### setClassName

    void setClassName(java.lang.String value)

  Sets the value of the '`Class Name`' attribute.

  Parameters:
    `value` - the new value of the 'Class Name' attribute.
  See Also:
    `getClassName()`

### getBasePath

    java.lang.String getBasePath()

  Returns the value of the 'Base Path' attribute.

  If the meaning of the 'Base Path' attribute isn't clear, there really should be more of a description here...

  The relative or absolute path to the base directory containing implementing code, e.g. \"../myproject\", \"/MyDrive/local/myproject\".

  Returns:
    the value of the 'Base Path' attribute.
  See Also:
    `setBasePath(String)`, `MetaABMPackage.getSImplementation_BasePath()`

### setBasePath

    void setBasePath(java.lang.String value)

  Sets the value of the '`Base Path`' attribute.

  Parameters:
    `value` - the new value of the 'Base Path' attribute.
  See Also:
    `getBasePath()`

### getMode

    SImplementationMode getMode()

  Returns the value of the 'Mode' attribute. The default value is `"GENERATE"`. The literals are from the enumeration `SImplementationMode`.

  If the meaning of the 'Mode' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Mode' attribute.
  See Also:
    `SImplementationMode`, `setMode(SImplementationMode)`, `MetaABMPackage.getSImplementation_Mode()`

### setMode

    void setMode(SImplementationMode value)

  Sets the value of the '`Mode`' attribute.

  Parameters:
    `value` - the new value of the 'Mode' attribute.
  See Also:
    `SImplementationMode`, `getMode()`

### getTarget

    SImplemented getTarget()

  Returns the value of the 'Target' container reference. It is bidirectional and its opposite is '`Implementation`'.

  If the meaning of the 'Target' container reference isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Target' container reference.
  See Also:
    `setTarget(SImplemented)`, `MetaABMPackage.getSImplementation_Target()`, `SImplemented.getImplementation()`

### setTarget

    void setTarget(SImplemented value)

  Sets the value of the '`Target`' container reference.

  Parameters:
    `value` - the new value of the 'Target' container reference.
  See Also:
    `getTarget()`

### getQualifiedName

    java.lang.String getQualifiedName()

  Returns the value of the 'Qualified Name' attribute.

  If the meaning of the 'Qualified Name' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Qualified Name' attribute.
  See Also:
    `MetaABMPackage.getSImplementation_QualifiedName()`

### getDerivedPath

    java.lang.String getDerivedPath()

  Returns the value of the 'Derived Path' attribute.

  If the meaning of the 'Derived Path' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Derived Path' attribute.
  See Also:
    `MetaABMPackage.getSImplementation_DerivedPath()`

### getPackagePath

    java.lang.String getPackagePath()

### getDerivedPackage

    java.lang.String getDerivedPackage()

  Returns the value of the 'Derived Package' attribute.

  If the meaning of the 'Derived Package' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Derived Package' attribute.
  See Also:
    `MetaABMPackage.getSImplementation_DerivedPackage()`

### getJavaFileLoc

    java.lang.String getJavaFileLoc()

  Returns the value of the 'Java File Loc' attribute.

  If the meaning of the 'Java File Loc' attribute isn't clear, there really should be more of a description here...

  The precise location of any related java file, e.g. \"../projectdir/srcgen/org/foo/MyClass.java\" or \"/root/projectdir/srcgen/org/foo/MyClass.java\".

  Returns:
    the value of the 'Java File Loc' attribute.
  See Also:
    `MetaABMPackage.getSImplementation_JavaFileLoc()`

### getSrcDir

    java.lang.String getSrcDir()

  Returns the value of the 'Src Dir' attribute. The default value is `"srcgen"`.

  If the meaning of the 'Src Dir' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Src Dir' attribute.
  See Also:
    `setSrcDir(String)`, `MetaABMPackage.getSImplementation_SrcDir()`

### setSrcDir

    void setSrcDir(java.lang.String value)

  Sets the value of the '`Src Dir`' attribute.

  Parameters:
    `value` - the new value of the 'Src Dir' attribute.
  See Also:
    `getSrcDir()`

### getBinDir

    java.lang.String getBinDir()

  Returns the value of the 'Bin Dir' attribute. The default value is `"bin"`.

  If the meaning of the 'Bin Dir' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Bin Dir' attribute.
  See Also:
    `setBinDir(String)`, `MetaABMPackage.getSImplementation_BinDir()`

### setBinDir

    void setBinDir(java.lang.String value)

  Sets the value of the '`Bin Dir`' attribute.

  Parameters:
    `value` - the new value of the 'Bin Dir' attribute.
  See Also:
    `getBinDir()`

### getClassFileLoc

    java.lang.String getClassFileLoc()

  Returns the value of the 'Class File Loc' attribute. The default value is `""`. The precise location of any related binary class file, e.g. "../projectdir/bin/org/foo/MyClass.class" or "/root/projectdir/bin/org/foo/MyClass.class".

  Returns:
    the value of the 'Class File Loc' attribute.
  See Also:
    `org.metaabmPackage#getSImplementation_ClassFileLoc()`

### getDerivedBinDir

    java.lang.String getDerivedBinDir()

  Returns the value of the 'Derived Bin Dir' attribute.

  If the meaning of the 'Derived Bin Dir' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Derived Bin Dir' attribute.
  See Also:
    `MetaABMPackage.getSImplementation_DerivedBinDir()`

### getDerivedSrcDir

    java.lang.String getDerivedSrcDir()

  Returns the value of the 'Derived Src Dir' attribute.

  If the meaning of the 'Derived Src Dir' attribute isn't clear, there really should be more of a description here...

  Returns:
    the value of the 'Derived Src Dir' attribute.
  See Also:
    `MetaABMPackage.getSImplementation_DerivedSrcDir()`

### derive

    java.lang.String derive(Derivable derivable)

  If this object's value for the derived parent is null, return the parent's value for the derivable.

  Parameters:
    `derivable` -
  Returns: