gluu
公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler クラス
org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler 連携図
Collaboration graph

公開メンバ関数

 CssSnippetHandler (String str)
 
String getSnippet (boolean includeButtons)
 
void assignMissingButtonColors ()
 
void assignMissingHeaderColors ()
 
String getHeaderColor ()
 
String getMainButtonColor ()
 
String getPanelHeadColor ()
 
String getAuxButtonColor ()
 
String getLogoDataUri ()
 
String getFaviconDataUri ()
 
void setHeaderColor (String headerColor)
 
void setMainButtonColor (String mainButtonColor)
 
void setAuxButtonColor (String auxButtonColor)
 
void setLogoDataUri (String logoDataUri)
 
void setFaviconDataUri (String faviconDataUri)
 
void setPanelHeadColor (String panelHeadColor)
 

非公開メンバ関数

String getMatchingString (String selector, String subregexp, String cssString)
 
String toned (String color, boolean lighter)
 
String getColorFrom (String hexaColor, boolean lighter)
 
String getSnippetForButton (String selector, String color)
 

非公開変数類

Logger logger = LoggerFactory.getLogger(getClass())
 
String logoDataUri
 
String faviconDataUri
 
String headerColor
 
String mainButtonColor
 
String auxButtonColor
 
String panelHeadColor
 

静的非公開変数類

static final String LOGO_SELECTOR = "logo"
 
static final String FAVICON_SELECTOR = "favicon"
 
static final String HEADER_SELECTOR = "header"
 
static final String PRIMARY_BUTTON_SELECTOR = "btn-success"
 
static final String AUXILIARY_BUTTON_SELECTOR = "btn-warning"
 
static final List< String > PANEL_HEADER_SELECTORS = Arrays.asList("z-panel-head", "z-panel-header")
 
static final String PRIMARY_BUTTON_DEF_COLOR = "#123456"
 
static final String AUXILIARY_BUTTON_DEF_COLOR = "#654321"
 
static final String HEADER_DEF_COLOR = "#ffffff"
 

詳解

著者
jgomer

構築子と解体子

◆ CssSnippetHandler()

org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.CssSnippetHandler ( String  str)
inline
47  {
48 
49  if (str != null) {
50  //Here .+? denotes one or more characters with reluctant consumption (not default greedy style of eating chars)
51  faviconDataUri = getMatchingString(FAVICON_SELECTOR, "\\s*//src\\s*:\\s*(.+?;base64,[^;]+)", str);
52  //Here .+? denotes one or more characters with reluctant consumption (not default greedy style of eating chars)
53  logoDataUri = getMatchingString(LOGO_SELECTOR, "\\s*//src\\s*:\\s*(.+?;base64,[^;]+)", str);
54 
55  headerColor = getMatchingString(HEADER_SELECTOR, "\\s*background-color\\s*:\\s*([^;]+)", str);
56  panelHeadColor = getMatchingString(PANEL_HEADER_SELECTORS.get(0), "\\s*background-color\\s*:\\s*([^;]+)", str);
57  mainButtonColor = getMatchingString(PRIMARY_BUTTON_SELECTOR, "\\s*background-color\\s*:\\s*([^;]+)", str);
58  auxButtonColor = getMatchingString(AUXILIARY_BUTTON_SELECTOR, "\\s*background-color\\s*:\\s*([^;]+)", str);
59  }
60 
61  }
String panelHeadColor
Definition: CssSnippetHandler.java:45
static final String HEADER_SELECTOR
Definition: CssSnippetHandler.java:26
static final List< String > PANEL_HEADER_SELECTORS
Definition: CssSnippetHandler.java:29
String getMatchingString(String selector, String subregexp, String cssString)
Definition: CssSnippetHandler.java:63
static final String LOGO_SELECTOR
Definition: CssSnippetHandler.java:24
String headerColor
Definition: CssSnippetHandler.java:39
String faviconDataUri
Definition: CssSnippetHandler.java:37
String mainButtonColor
Definition: CssSnippetHandler.java:41
static final String AUXILIARY_BUTTON_SELECTOR
Definition: CssSnippetHandler.java:28
String logoDataUri
Definition: CssSnippetHandler.java:35
String auxButtonColor
Definition: CssSnippetHandler.java:43
static final String PRIMARY_BUTTON_SELECTOR
Definition: CssSnippetHandler.java:27
static final String FAVICON_SELECTOR
Definition: CssSnippetHandler.java:25

関数詳解

◆ assignMissingButtonColors()

void org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.assignMissingButtonColors ( )
inline
158  {
159  if (auxButtonColor == null) {
161  }
162  if (mainButtonColor == null) {
164  }
165  }
static final String AUXILIARY_BUTTON_DEF_COLOR
Definition: CssSnippetHandler.java:32
String mainButtonColor
Definition: CssSnippetHandler.java:41
String auxButtonColor
Definition: CssSnippetHandler.java:43
static final String PRIMARY_BUTTON_DEF_COLOR
Definition: CssSnippetHandler.java:31

◆ assignMissingHeaderColors()

void org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.assignMissingHeaderColors ( )
inline
167  {
168  if (headerColor == null) {
170  }
171  if (panelHeadColor == null) {
173  }
174  }
String panelHeadColor
Definition: CssSnippetHandler.java:45
static final String HEADER_DEF_COLOR
Definition: CssSnippetHandler.java:33
String headerColor
Definition: CssSnippetHandler.java:39

◆ getAuxButtonColor()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getAuxButtonColor ( )
inline
188  {
189  return auxButtonColor;
190  }
String auxButtonColor
Definition: CssSnippetHandler.java:43

◆ getColorFrom()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getColorFrom ( String  hexaColor,
boolean  lighter 
)
inlineprivate
99  {
100 
101  try {
102  String r = toned(hexaColor.substring(1, 3), lighter);
103  String g = toned(hexaColor.substring(3, 5), lighter);
104  String b = toned(hexaColor.substring(5, 7), lighter);
105  hexaColor = String.format("#%s%s%s", r, g, b);
106  } catch (Exception e) {
107  logger.error(e.getMessage(), e);
108  }
109  return hexaColor;
110 
111  }
String toned(String color, boolean lighter)
Definition: CssSnippetHandler.java:86
Logger logger
Definition: CssSnippetHandler.java:22

◆ getFaviconDataUri()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getFaviconDataUri ( )
inline
196  {
197  return faviconDataUri;
198  }
String faviconDataUri
Definition: CssSnippetHandler.java:37

◆ getHeaderColor()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getHeaderColor ( )
inline
176  {
177  return headerColor;
178  }
String headerColor
Definition: CssSnippetHandler.java:39

◆ getLogoDataUri()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getLogoDataUri ( )
inline
192  {
193  return logoDataUri;
194  }
String logoDataUri
Definition: CssSnippetHandler.java:35

◆ getMainButtonColor()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getMainButtonColor ( )
inline
180  {
181  return mainButtonColor;
182  }
String mainButtonColor
Definition: CssSnippetHandler.java:41

◆ getMatchingString()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getMatchingString ( String  selector,
String  subregexp,
String  cssString 
)
inlineprivate
63  {
64 
65  String match = null;
66  try {
67  String regexp = "\\." + selector + "\\s*\\{([^\\}]+)\\}";
68 
69  Matcher m = Pattern.compile(regexp).matcher(cssString);
70  if (m.find()) {
71  match = m.group(1);
72  if (Utils.isNotEmpty(match)) {
73  m = Pattern.compile(subregexp).matcher(match);
74  if (m.find()) {
75  match = m.group(1);
76  }
77  }
78  }
79  } catch (Exception e) {
80  logger.error(e.getMessage(), e);
81  }
82  return match;
83 
84  }
Logger logger
Definition: CssSnippetHandler.java:22

◆ getPanelHeadColor()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getPanelHeadColor ( )
inline
184  {
185  return panelHeadColor;
186  }
String panelHeadColor
Definition: CssSnippetHandler.java:45

◆ getSnippet()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getSnippet ( boolean  includeButtons)
inline
138  {
139 
140  String snip = "";
141  //this way of building correlates tightly with parsing logic at class constructor
142  snip += String.format(".%s{ background-color : %s; }\n", HEADER_SELECTOR, headerColor);
143  snip += String.format(".%s{ //src : %s; \n}\n", LOGO_SELECTOR, logoDataUri);
144  snip += String.format(".%s{ //src : %s; \n}\n", FAVICON_SELECTOR, faviconDataUri);
145 
146  for (String selector : PANEL_HEADER_SELECTORS) {
147  snip += String.format(".%s{ background-color : %s; \n}\n", selector, panelHeadColor);
148  }
149 
150  if (includeButtons) {
153  }
154  logger.debug("snippet is\n{}", snip);
155  return snip;
156  }
String panelHeadColor
Definition: CssSnippetHandler.java:45
static final String HEADER_SELECTOR
Definition: CssSnippetHandler.java:26
static final List< String > PANEL_HEADER_SELECTORS
Definition: CssSnippetHandler.java:29
String getSnippetForButton(String selector, String color)
Definition: CssSnippetHandler.java:113
static final String LOGO_SELECTOR
Definition: CssSnippetHandler.java:24
String headerColor
Definition: CssSnippetHandler.java:39
String faviconDataUri
Definition: CssSnippetHandler.java:37
Logger logger
Definition: CssSnippetHandler.java:22
String mainButtonColor
Definition: CssSnippetHandler.java:41
static final String AUXILIARY_BUTTON_SELECTOR
Definition: CssSnippetHandler.java:28
String logoDataUri
Definition: CssSnippetHandler.java:35
String auxButtonColor
Definition: CssSnippetHandler.java:43
static final String PRIMARY_BUTTON_SELECTOR
Definition: CssSnippetHandler.java:27
static final String FAVICON_SELECTOR
Definition: CssSnippetHandler.java:25

◆ getSnippetForButton()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.getSnippetForButton ( String  selector,
String  color 
)
inlineprivate
113  {
114 
115  //Button css generation is more involved: we need to set states and autogenerate lighter and darker colors
116  String snip = "";
117 
118  //this way of building correlates tightly with parsing logic at class constructor
119 
120  //Note that border-color must always be the same as background-color (only 1 color picker is shown in the UI for button)
121  snip += String.format(".%s{ background-color : %s; border-color: %s }\n", selector, color, color);
122 
123  String tone = getColorFrom(color, true);
124  snip += String.format(".%s{ background-color : %s; border-color: %s }\n", selector + ":disabled", tone, tone);
125  snip += String.format(".%s{ background-color : %s; border-color: %s }\n", selector + ":disabled:hover", tone, tone);
126 
127  tone = getColorFrom(color, false);
128  snip += String.format(".%s{ background-color : %s; border-color: %s }\n", selector + ":hover", tone, tone);
129  snip += String.format(".%s{ background-color : %s; border-color: %s }\n", selector + ":focus", tone, tone);
130 
131  tone = getColorFrom(tone, false);
132  snip += String.format(".%s{ background-color : %s; border-color: %s }\n", selector + ":focus:active", tone, tone);
133 
134  return snip;
135 
136  }
String getColorFrom(String hexaColor, boolean lighter)
Definition: CssSnippetHandler.java:99

◆ setAuxButtonColor()

void org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.setAuxButtonColor ( String  auxButtonColor)
inline
208  {
210  }
String auxButtonColor
Definition: CssSnippetHandler.java:43

◆ setFaviconDataUri()

void org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.setFaviconDataUri ( String  faviconDataUri)
inline
216  {
218  }
String faviconDataUri
Definition: CssSnippetHandler.java:37

◆ setHeaderColor()

void org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.setHeaderColor ( String  headerColor)
inline
200  {
201  this.headerColor = headerColor;
202  }
String headerColor
Definition: CssSnippetHandler.java:39

◆ setLogoDataUri()

void org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.setLogoDataUri ( String  logoDataUri)
inline
212  {
213  this.logoDataUri = logoDataUri;
214  }
String logoDataUri
Definition: CssSnippetHandler.java:35

◆ setMainButtonColor()

void org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.setMainButtonColor ( String  mainButtonColor)
inline
204  {
206  }
String mainButtonColor
Definition: CssSnippetHandler.java:41

◆ setPanelHeadColor()

void org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.setPanelHeadColor ( String  panelHeadColor)
inline
220  {
222  }
String panelHeadColor
Definition: CssSnippetHandler.java:45

◆ toned()

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.toned ( String  color,
boolean  lighter 
)
inlineprivate
86  {
87 
88  String cl;
89  if (lighter) {
90  cl = Integer.toString(Math.min(255, Integer.parseInt(color, 16) + 16), 16);
91  } else {
92  cl = Integer.toString(Math.max(0, Integer.parseInt(color, 16) - 16), 16);
93  }
94  cl += "0";
95  return cl.substring(0, 2);
96 
97  }

メンバ詳解

◆ auxButtonColor

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.auxButtonColor
private

◆ AUXILIARY_BUTTON_DEF_COLOR

final String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.AUXILIARY_BUTTON_DEF_COLOR = "#654321"
staticprivate

◆ AUXILIARY_BUTTON_SELECTOR

final String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.AUXILIARY_BUTTON_SELECTOR = "btn-warning"
staticprivate

◆ FAVICON_SELECTOR

final String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.FAVICON_SELECTOR = "favicon"
staticprivate

◆ faviconDataUri

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.faviconDataUri
private

◆ HEADER_DEF_COLOR

final String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.HEADER_DEF_COLOR = "#ffffff"
staticprivate

◆ HEADER_SELECTOR

final String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.HEADER_SELECTOR = "header"
staticprivate

◆ headerColor

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.headerColor
private

◆ logger

Logger org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.logger = LoggerFactory.getLogger(getClass())
private

◆ LOGO_SELECTOR

final String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.LOGO_SELECTOR = "logo"
staticprivate

◆ logoDataUri

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.logoDataUri
private

◆ mainButtonColor

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.mainButtonColor
private

◆ PANEL_HEADER_SELECTORS

final List<String> org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.PANEL_HEADER_SELECTORS = Arrays.asList("z-panel-head", "z-panel-header")
staticprivate

◆ panelHeadColor

String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.panelHeadColor
private

◆ PRIMARY_BUTTON_DEF_COLOR

final String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.PRIMARY_BUTTON_DEF_COLOR = "#123456"
staticprivate

◆ PRIMARY_BUTTON_SELECTOR

final String org.gluu.credmanager.ui.vm.admin.branding.CssSnippetHandler.PRIMARY_BUTTON_SELECTOR = "btn-success"
staticprivate

このクラス詳解は次のファイルから抽出されました: