/**
*
*/
package com.xored.glance.internal.ui.sources;
import org.eclipse.swt.widgets.Control;
import com.xored.glance.ui.sources.ITextSource;
import com.xored.glance.ui.sources.ITextSourceDescriptor;
/**
* @author Yuri Strot
*
*/
public class TextSourceMaker {
public TextSourceMaker(ITextSourceDescriptor description, Control control) {
this.description = description;
this.control = control;
}
public boolean isValid() {
return description == null ? false : description.isValid(control);
}
public ITextSource create() {
return description == null ? null : description.createSource(control);
}
/**
* @return the control
*/
public Control getControl() {
return control;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((control == null) ? 0 : control.hashCode());
result = prime * result
+ ((description == null) ? 0 : description.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
TextSourceMaker other = (TextSourceMaker) obj;
if (control == null) {
if (other.control != null)
return false;
} else if (!control.equals(other.control))
return false;
if (description == null) {
if (other.description != null)
return false;
} else if (!description.equals(other.description))
return false;
return true;
}
private ITextSourceDescriptor description;
private Control control;
}