
eu.hansolo.steelseries.tools.DesignModel Maven / Gradle / Ivy
package eu.hansolo.steelseries.tools;
import java.awt.Color;
/**
*
* @author Gerrit Grunwald
*/
public class DesignModel {
private final FrameDesign FRAME_DESIGN;
private final BackgroundColor BACKGROUND_COLOR;
private final Color TEXTURE_COLOR;
private final ColorDef COLOR;
private final LedColor LED_COLOR;
private final LedColor USER_LED_COLOR;
private final LcdColor LCD_COLOR;
private final Color GLOW_COLOR;
private DesignModel(Builder builder) {
// private Constructor can only be called from Builder
FRAME_DESIGN = builder.frameDesign;
BACKGROUND_COLOR = builder.backgroundColor;
TEXTURE_COLOR = builder.textureColor;
COLOR = builder.color;
LED_COLOR = builder.ledColor;
USER_LED_COLOR = builder.userLedColor;
LCD_COLOR = builder.lcdColor;
GLOW_COLOR = builder.glowColor;
}
public FrameDesign getFrameDesign() {
return FRAME_DESIGN;
}
public BackgroundColor getBackgroundColor() {
return BACKGROUND_COLOR;
}
public Color getTextureColor() {
return TEXTURE_COLOR;
}
public ColorDef getColor() {
return COLOR;
}
public LedColor getLedColor() {
return LED_COLOR;
}
public LedColor getUserLedColor() {
return USER_LED_COLOR;
}
public LcdColor getLcdColor() {
return LCD_COLOR;
}
public Color getGlowColor() {
return GLOW_COLOR;
}
public static class Builder {
// mandatory parameter
private FrameDesign frameDesign = null;
private BackgroundColor backgroundColor = null;
private Color textureColor = null;
private ColorDef color = null;
private LedColor ledColor = null;
private LedColor userLedColor = null;
private LcdColor lcdColor = null;
private Color glowColor = null;
public Builder() {
}
public Builder frameDesign(FrameDesign frameDesign) {
this.frameDesign = frameDesign;
return this;
}
public Builder backgroundColor(BackgroundColor backgroundColor) {
this.backgroundColor = backgroundColor;
return this;
}
public Builder textureColor(Color textureColor) {
this.textureColor = textureColor;
return this;
}
public Builder color(ColorDef color) {
this.color = color;
return this;
}
public Builder ledColor(LedColor ledColor) {
this.ledColor = ledColor;
return this;
}
public Builder userLedColor(LedColor userLedColor) {
this.userLedColor = userLedColor;
return this;
}
public Builder lcdColor(LcdColor lcdColor) {
this.lcdColor = lcdColor;
return this;
}
public Builder glowColor(Color glowColor) {
this.glowColor = glowColor;
return this;
}
public DesignModel build() {
return new DesignModel(this);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy