}
// Make a copy for thread safety
- final CommandParameter param = new CommandParameter(tmpParam);
+ final CommandParameter param = tmpParam.clone();
UIJob getJob = new UIJob(Messages.TraceControl_GetContextJob) {
@Override
if (tmpParam == null) {
return null;
}
- tmpParam = new CommandParameter(tmpParam);
+ tmpParam = tmpParam.clone();
} finally {
fLock.unlock();
}
if (tmpParam == null) {
return null;
}
- tmpParam = new CommandParameter(tmpParam);
+ tmpParam = tmpParam.clone();
} finally {
fLock.unlock();
}
}
// Make a copy for thread safety
- final DomainCommandParameter param = new DomainCommandParameter(tmpParam);
+ final DomainCommandParameter param = tmpParam.clone();
Job addJob = new Job(Messages.TraceControl_AddCalibrateJob) {
@Override
fChannel = channel;
}
- /**
- * Copy constructor
- *
- * @param param
- * a channel command parameter to copy
- */
- public ChannelCommandParameter(ChannelCommandParameter param) {
- super(param);
- fChannel = param.fChannel;
- }
-
// ------------------------------------------------------------------------
// Accessors
// ------------------------------------------------------------------------
return fChannel;
}
+ // ------------------------------------------------------------------------
+ // Cloneable interface
+ // ------------------------------------------------------------------------
+ @Override
+ public ChannelCommandParameter clone() {
+ ChannelCommandParameter clone = (ChannelCommandParameter) super.clone();
+ clone.fChannel = fChannel;
+ return clone;
+ }
}
\ No newline at end of file
* @author Bernd Hufmann
*/
@NonNullByDefault
-public class CommandParameter {
+public class CommandParameter implements Cloneable {
// ------------------------------------------------------------------------
// Attributes
fSession = session;
}
- /**
- * Copy constructor
- *
- * @param param
- * a command parameter to copy
- */
- public CommandParameter(CommandParameter param) {
- fSession = param.fSession;
- }
-
// ------------------------------------------------------------------------
// Accessors
// ------------------------------------------------------------------------
public TraceSessionComponent getSession() {
return fSession;
}
+
+ // ------------------------------------------------------------------------
+ // Cloneable interface
+ // ------------------------------------------------------------------------
+ @Override
+ protected CommandParameter clone() {
+ CommandParameter clone;
+ try {
+ clone = (CommandParameter) super.clone();
+ clone.fSession = fSession;
+ } catch (CloneNotSupportedException e) {
+ throw new RuntimeException();
+ }
+ return clone;
+ }
}
\ No newline at end of file
return fDomain;
}
- /**
- * Copy constructor
- *
- * @param param
- * a domain command parameter to copy
- */
- public DomainCommandParameter(DomainCommandParameter param) {
- super(param);
- fDomain = param.fDomain;
+ // ------------------------------------------------------------------------
+ // Cloneable interface
+ // ------------------------------------------------------------------------
+ @Override
+ public DomainCommandParameter clone() {
+ DomainCommandParameter clone = (DomainCommandParameter) super.clone();
+ clone.fDomain = fDomain;
+ return clone;
}
}
\ No newline at end of file
fEvent = event;
}
- /**
- * Copy constructor
- *
- * @param param
- * a event command parameter to copy
- */
- public EventCommandParameter(EventCommandParameter param) {
- super(param);
- fEvent = param.fEvent;
- }
-
// ------------------------------------------------------------------------
// Accessors
// ------------------------------------------------------------------------
public TraceEventComponent getEvent() {
return fEvent;
}
+
+ // ------------------------------------------------------------------------
+ // Cloneable interface
+ // ------------------------------------------------------------------------
+ @Override
+ public EventCommandParameter clone() {
+ EventCommandParameter clone = (EventCommandParameter) super.clone();
+ clone.fEvent = fEvent;
+ return clone;
+ }
+
}
\ No newline at end of file
if (param == null) {
return null;
}
- param = new CommandParameter(param);
+ param = param.clone();
} finally {
fLock.unlock();
}