Skip to content
Snippets Groups Projects
Expression.java 1.24 KiB
Newer Older
package ui;

public class Expression {
	
	private String text;
	
	private final String nullText;
	
	private final String label;

	private boolean enabled;
	
	public Expression( final String text ) {
		this( text, null, null );
	}
	
	public Expression( 	final String text,
						final String nullText,
						final String label ) {
        this.text = text;
        this.nullText = nullText;
        this.label = label;
        this.enabled = true;
//
//	public Expression( 	final String text,
//						final boolean enabled,
//						final String nullText ) {
//	}

	public String getText() {
		return text;
	}

	public void setText( String text ) {
		this.text = text;
	}

	public boolean isEnabled() {
		return enabled;
	}

	public void setEnabled(boolean enabled) {
		this.enabled = enabled;
	}
	
	public String getEffectiveExpression( final String defaultExpr ) {
		return isEnabled() ? getText() : defaultExpr;
	}
	
	public boolean isNull() {
		if ( nullText == null ) {
			return getText() == null;
		}
		
		return nullText.equals( getText() );
	}
	
	@Override
	public String toString() {
		final String text = isNull() ? nullText : getText();

		return label == null ? text : String.format( label, text );
	}

	public String getLabel() {
		return label;
	}
}