## org.apache.tools.ant.taskdefs.optional.dotnet
Class JSharp

    java.lang.Object
      org.apache.tools.ant.ProjectComponent
          org.apache.tools.ant.Task
              org.apache.tools.ant.taskdefs.MatchingTask
                  org.apache.tools.ant.taskdefs.optional.dotnet.DotnetBaseMatchingTask
                      org.apache.tools.ant.taskdefs.optional.dotnet.DotnetCompile
                          org.apache.tools.ant.taskdefs.optional.dotnet.JSharp

All Implemented Interfaces:
  java.lang.Cloneable, SelectorContainer

    public class JSharp

extends DotnetCompile

Compile J# source down to a managed .NET application.

J# is not Java. But it is the language closest to Java in the .NET framework. This task compiles jsharp source (.java files), and generates a .NET managed exe or dll.

For historical reasons the pattern `**``/*.java` is preset as includes list and you can not override it with an explicit includes attribute. Use nested `<src>` elements instead of the basedir attribute if you need more control.

Since:
  ant1.6
See Also:
  Visual J++ online documentation

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetCompile
`DotnetCompile.TargetTypes`

Field Summary

Fields inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetCompile
`additionalModules, debug, definitionList, executable, extraOptions, mainClass, REFERENCE_OPTION, referenceFilesets, resources, targetType, utf8output`

Fields inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetBaseMatchingTask
`filesets, isWindows, outputFile, srcDir`

Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
`fileset`

Fields inherited from class org.apache.tools.ant.Task
`target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`description, location, project`

Constructor Summary
`JSharp()` No arg constructor.

Method Summary
`protected void` `addCompilerSpecificOptions(NetCommand command)` add jvc specific commands
`protected void` `createResourceParameter(NetCommand command, DotnetResource resource)` Build a C# style parameter.
`java.lang.String` `getFileExtension()` Get the extension of filenames to compile.
`java.lang.String` `getReferenceDelimiter()` Get the delimiter that the compiler uses between references.
`void` `setBaseAddress(java.lang.String baseAddress)` Set the base address attribute.
`void` `setPureJava(boolean pureJava)` do we want pure java (default, true) or corrupted J#?
`void` `setSecureScoping(boolean secureScoping)` Make package scoped code visible to the current assembly only (default: false) .NET does not have package scoping.
`protected void` `validate()` validation code

Methods inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetCompile

`addDefine, addReference, addReferenceFilesets, addResource, addResources, clear, createNetCommand, execute, fillInSharedParameters, getAdditionalModulesParameter, getDebug, getDebugParameter, getDefinitionsDelimiter, getDefinitionsParameter, getDestFileParameter, getExecutable, getExtraOptions, getExtraOptionsParameter, getExtraOptionsParameters, getFailOnError, getFilePattern, getIncludeDefaultReferences, getIncludeDefaultReferencesParameter, getMainClass, getMainClassParameter, getOptimize, getOptimizeParameter, getReferenceFilesParameter, getReferencesParameter, getTargetType, getTargetTypeParameter, getUtf8OutputParameter, getWarnLevel, getWarnLevelParameter, getWin32IconParameter, getWin32Res, getWin32ResParameter, isFileManagedBinary, isUseResponseFile, notEmpty, setAdditionalModules, setDebug, setDestDir, setExecutable, setExtraOptions, setFailOnError, setIncludeDefaultReferences, setMainClass, setOptimize, setReferenceFiles, setReferences, setTargetType, setTargetType, setUseResponseFile, setUtf8Output, setWarnLevel, setWin32Icon, setWin32Res`

Methods inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetBaseMatchingTask
`addFilesAndExecute, addFilesToCommand, addSrc, buildFileList, getDestFile, getOutputFileTimestamp, getSrcDir, setDestFile, setSrcDir`

Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

`add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems`

Methods inherited from class org.apache.tools.ant.Task
`bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`clone, getDescription, getLocation, getProject, setDescription, setLocation`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JSharp

    public JSharp()

  No arg constructor.

Method Detail

### setBaseAddress

    public void setBaseAddress(java.lang.String baseAddress)

  Set the base address attribute.

  Parameters:
    `baseAddress` - the value to use.

### setPureJava

    public void setPureJava(boolean pureJava)

  do we want pure java (default, true) or corrupted J#?

  Parameters:
    `pureJava` - a `boolean` value.

### setSecureScoping

    public void setSecureScoping(boolean secureScoping)

  Make package scoped code visible to the current assembly only (default: false) .NET does not have package scoping. Instead it has assembly, private and public. By default, package content is public to all.

  Parameters:
    `secureScoping` - a `boolean` value.

### getReferenceDelimiter

    public java.lang.String getReferenceDelimiter()

  Get the delimiter that the compiler uses between references. For example, c# will return ";"; VB.NET will return ","

  Specified by:
    `getReferenceDelimiter` in class `DotnetCompile`
  Returns:
    The string delimiter for the reference string.

### getFileExtension

    public java.lang.String getFileExtension()

  Get the extension of filenames to compile.

  Specified by:
    `getFileExtension` in class `DotnetCompile`
  Returns:
    The string extension of files to compile.

### addCompilerSpecificOptions

    protected void addCompilerSpecificOptions(NetCommand command)

  add jvc specific commands

  Specified by:
    `addCompilerSpecificOptions` in class `DotnetCompile`
  Parameters:
    `command` - the command to add to.

### createResourceParameter

    protected void createResourceParameter(NetCommand command,
                                           DotnetResource resource)

  Build a C# style parameter.

  Specified by:
    `createResourceParameter` in class `DotnetCompile`
  Parameters:
    `command` - the command.
    `resource` - the resource.

### validate

    protected void validate()
                     throws BuildException

  validation code

  Overrides:
    `validate` in class `DotnetCompile`
  Throws:
    `BuildException` - if validation failed