kawigi.language
Class ExtendedCPPLanguage

java.lang.Object
  |
  +--kawigi.language.LanguageContainer
        |
        +--kawigi.language.ExtendedCPPLanguage
All Implemented Interfaces:
java.lang.Cloneable, com.topcoder.shared.netCommon.CustomSerializable, ExtendedLanguage, com.topcoder.shared.language.Language, java.io.Serializable

public class ExtendedCPPLanguage
extends LanguageContainer

See Also:
Serialized Form

Field Summary
static kawigi.language.ExtendedCPPLanguage EXTENDED_CPP_LANGUAGE
          A singleton instance of the extended C++ language.
 
Fields inherited from class kawigi.language.LanguageContainer
baselang
 
Constructor Summary
ExtendedCPPLanguage()
          Creates a new instance of the extended C++ language from TC's singleton C++ Language instance.
ExtendedCPPLanguage(com.topcoder.shared.language.Language lang)
          Creates a new instance of an extended C++ Language from the given TC language implementation.
 
Method Summary
 java.lang.String getCompileCommand(com.topcoder.shared.problem.ProblemComponent comp)
          Returns the command that should be used to compile the file.
 java.lang.String getFileName(com.topcoder.shared.problem.ProblemComponent comp)
          Returns the filename that the source file should be saved as.
 java.lang.String getPropertyClass()
          Overrides the property class in LanguageContainer so that it only has alphanumeric characters.
 java.lang.String getRunCommand(com.topcoder.shared.problem.ProblemComponent comp, java.io.File cwd)
          Returns the command that should be used to run the program and test cases.
 kawigi.language.Skeleton getSkeleton(com.topcoder.shared.problem.ProblemComponent comp)
          Returns at a class and method declaration, with a main method that has testing code.
 java.lang.Class getViewClass()
          Returns the class of the C++ implementation of a View
 
Methods inherited from class kawigi.language.LanguageContainer
customReadObject, customWriteObject, equals, getBaseLanguage, getId, getMethodSignature, getName
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXTENDED_CPP_LANGUAGE

public static final kawigi.language.ExtendedCPPLanguage EXTENDED_CPP_LANGUAGE
A singleton instance of the extended C++ language.

Constructor Detail

ExtendedCPPLanguage

public ExtendedCPPLanguage(com.topcoder.shared.language.Language lang)
Creates a new instance of an extended C++ Language from the given TC language implementation. If lang is not an instance of CPPLanguage, this object may do weird things, but then again, C++ coders tend to know when they want something to malfunction.


ExtendedCPPLanguage

public ExtendedCPPLanguage()
Creates a new instance of the extended C++ language from TC's singleton C++ Language instance.

Method Detail

getSkeleton

public kawigi.language.Skeleton getSkeleton(com.topcoder.shared.problem.ProblemComponent comp)
Returns at a class and method declaration, with a main method that has testing code.


getViewClass

public java.lang.Class getViewClass()
Returns the class of the C++ implementation of a View


getPropertyClass

public java.lang.String getPropertyClass()
Overrides the property class in LanguageContainer so that it only has alphanumeric characters.

Overrides:
getPropertyClass in class LanguageContainer

getCompileCommand

public java.lang.String getCompileCommand(com.topcoder.shared.problem.ProblemComponent comp)
Returns the command that should be used to compile the file. Ideally, this won't be platform-specific, but realistically, some people use different compilers than others completely. It may be possible at some point to allow this to be configured.


getRunCommand

public java.lang.String getRunCommand(com.topcoder.shared.problem.ProblemComponent comp,
                                      java.io.File cwd)
Returns the command that should be used to run the program and test cases. Again, some care will need to be taken to make this part platform-happy.


getFileName

public java.lang.String getFileName(com.topcoder.shared.problem.ProblemComponent comp)
Returns the filename that the source file should be saved as. You may assume that this is the actual filename used when creating the compile and run commands.