public final class CLProgramBuilder extends Object implements CLProgramConfiguration, Serializable, Cloneable
CLProgramConfiguration
s and CLBuildConfiguration
s.Modifier and Type | Method and Description |
---|---|
CLProgramBuilder |
asBuildConfiguration()
Returns a new instance of of this configuration without a
CLProgram ,
program binaries or sources associated with it. |
CLProgram |
build()
Builds or rebuilds a program.
|
CLProgram |
build(CLBuildListener listener)
Builds or rebuilds a program.
|
CLProgram |
build(CLProgram program)
Builds or rebuilds the program.
|
CLProgram |
build(CLProgram program,
CLBuildListener listener)
Builds or rebuilds the program.
|
CLProgramBuilder |
clone()
Clones this configuration.
|
static CLBuildConfiguration |
createConfiguration()
Creates a new CLBuildConfiguration.
|
static CLProgramConfiguration |
createConfiguration(CLProgram program)
Creates a new CLProgramConfiguration for this program.
|
boolean |
equals(Object o) |
CLProgramBuilder |
forDevice(CLDevice device)
Adds the device as build target.
|
CLProgramBuilder |
forDevices(CLDevice... devices)
Adds the devices as build target.
|
CLProgram |
getProgram()
Returns the program.
|
int |
hashCode() |
static CLBuildConfiguration |
loadConfiguration(ObjectInputStream ois)
Loads a CLBuildConfiguration.
|
static CLProgramConfiguration |
loadConfiguration(ObjectInputStream ois,
CLContext context)
Loads a CLProgramConfiguration containing a CLProgram.
|
CLProgramBuilder |
reset()
Resets this builder's configuration like options, devices and definitions.
|
CLProgramConfiguration |
resetDefines()
Resets this builder's macro definitions.
|
CLProgramConfiguration |
resetDevices()
Resets this builder's device list.
|
CLProgramConfiguration |
resetOptions()
Resets this builder's configuration options.
|
void |
save(ObjectOutputStream oos)
Saves this configuration to the ObjectOutputStream.
|
CLProgramBuilder |
setProgram(CLProgram program)
Sets the program which should be build.
|
String |
toString() |
CLProgramBuilder |
withDefine(String name)
Adds the definition to the build configuration.
|
CLProgramBuilder |
withDefine(String name,
Object value)
Adds the definition to the build configuration.
|
CLProgramBuilder |
withDefines(Map<String,? extends Object> defines)
Adds the definitions to the build configuration.
|
CLProgramBuilder |
withDefines(String... names)
Adds the definitions to the build configuration.
|
CLProgramBuilder |
withOption(String option)
Adds the compiler option to the build configuration.
|
CLProgramBuilder |
withOptions(String... options)
Adds the compiler options to the build configuration.
|
public static CLBuildConfiguration createConfiguration()
public static CLProgramConfiguration createConfiguration(CLProgram program)
public static CLBuildConfiguration loadConfiguration(ObjectInputStream ois) throws IOException, ClassNotFoundException
ois
- The ObjectInputStream for reading the object.IOException
ClassNotFoundException
public static CLProgramConfiguration loadConfiguration(ObjectInputStream ois, CLContext context) throws IOException, ClassNotFoundException
ois
- The ObjectInputStream for reading the object.context
- The context used for program initialization.IOException
ClassNotFoundException
public void save(ObjectOutputStream oos) throws IOException
CLBuildConfiguration
save
in interface CLBuildConfiguration
IOException
public CLProgramBuilder withOption(String option)
CLBuildConfiguration
withOption
in interface CLBuildConfiguration
withOption
in interface CLProgramConfiguration
CLProgram.CompilerOptions
public CLProgramBuilder withOptions(String... options)
CLBuildConfiguration
withOptions
in interface CLBuildConfiguration
withOptions
in interface CLProgramConfiguration
CLProgram.CompilerOptions
public CLProgramBuilder withDefine(String name)
CLBuildConfiguration
withDefine
in interface CLBuildConfiguration
withDefine
in interface CLProgramConfiguration
CLProgram.define(java.lang.String)
public CLProgramBuilder withDefines(String... names)
CLBuildConfiguration
withDefines
in interface CLBuildConfiguration
withDefines
in interface CLProgramConfiguration
CLProgram.define(java.lang.String)
public CLProgramBuilder withDefine(String name, Object value)
CLBuildConfiguration
withDefine
in interface CLBuildConfiguration
withDefine
in interface CLProgramConfiguration
CLProgram.define(java.lang.String, java.lang.Object)
public CLProgramBuilder withDefines(Map<String,? extends Object> defines)
CLBuildConfiguration
withDefines
in interface CLBuildConfiguration
withDefines
in interface CLProgramConfiguration
CLProgram.define(java.lang.String, java.lang.Object)
public CLProgramBuilder forDevice(CLDevice device)
CLBuildConfiguration
forDevice
in interface CLBuildConfiguration
forDevice
in interface CLProgramConfiguration
public CLProgramBuilder forDevices(CLDevice... devices)
CLBuildConfiguration
forDevices
in interface CLBuildConfiguration
forDevices
in interface CLProgramConfiguration
public CLProgram build()
CLProgramConfiguration
build
in interface CLProgramConfiguration
public CLProgram build(CLBuildListener listener)
CLProgramConfiguration
build
in interface CLProgramConfiguration
listener
- The callback who will be notified when the program has built.public CLProgram build(CLProgram program)
CLBuildConfiguration
build
in interface CLBuildConfiguration
program
- The program which should be build.public CLProgram build(CLProgram program, CLBuildListener listener)
CLBuildConfiguration
build
in interface CLBuildConfiguration
program
- The program which should be build.listener
- The callback who is notified when the program has built.public CLProgramBuilder reset()
CLBuildConfiguration
reset
in interface CLBuildConfiguration
reset
in interface CLProgramConfiguration
public CLProgramConfiguration resetDefines()
CLBuildConfiguration
resetDefines
in interface CLBuildConfiguration
resetDefines
in interface CLProgramConfiguration
public CLProgramConfiguration resetDevices()
CLBuildConfiguration
resetDevices
in interface CLBuildConfiguration
resetDevices
in interface CLProgramConfiguration
public CLProgramConfiguration resetOptions()
CLBuildConfiguration
resetOptions
in interface CLBuildConfiguration
resetOptions
in interface CLProgramConfiguration
public CLProgramBuilder asBuildConfiguration()
CLProgramConfiguration
CLProgram
,
program binaries or sources associated with it.asBuildConfiguration
in interface CLProgramConfiguration
public CLProgramBuilder clone()
CLBuildConfiguration
clone
in interface CLBuildConfiguration
clone
in interface CLProgramConfiguration
clone
in class Object
public CLProgram getProgram()
CLProgramConfiguration
getProgram
in interface CLProgramConfiguration
public CLProgramBuilder setProgram(CLProgram program)
CLBuildConfiguration
setProgram
in interface CLBuildConfiguration