Skip to content

Commit 73c1a0e

Browse files
authored
Merge pull request #8617 from mP1/feature/SpreadsheetFormattersSpreadsheetFormatterProvider-hyperlinking
SpreadsheetFormattersSpreadsheetFormatterProvider.hyperlinking
2 parents e72d1bc + 1aac5ae commit 73c1a0e

File tree

7 files changed

+55
-2
lines changed

7 files changed

+55
-2
lines changed

src/main/java/walkingkooka/spreadsheet/format/provider/SpreadsheetFormatterName.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import walkingkooka.plugin.PluginName;
2424
import walkingkooka.plugin.PluginNameLike;
2525
import walkingkooka.spreadsheet.format.SpreadsheetFormatter;
26+
import walkingkooka.spreadsheet.format.SpreadsheetFormatters;
2627
import walkingkooka.spreadsheet.format.pattern.SpreadsheetPatternKind;
2728
import walkingkooka.tree.json.JsonNode;
2829
import walkingkooka.tree.json.marshall.JsonNodeContext;
@@ -187,6 +188,16 @@ public static boolean isChar(final int pos,
187188
null
188189
);
189190

191+
final static String HYPERLINKING_STRING = "hyperlinking";
192+
193+
/**
194+
* The name of the {@link SpreadsheetFormatters#hyperlinking(SpreadsheetFormatter)}.
195+
*/
196+
public final static SpreadsheetFormatterName HYPERLINKING = new SpreadsheetFormatterName(
197+
HYPERLINKING_STRING,
198+
null
199+
);
200+
190201
final static String LONG_DATE_STRING = "long-date";
191202

192203
/**
@@ -375,6 +386,9 @@ public static SpreadsheetFormatterName with(final String name) {
375386
case GENERAL_STRING:
376387
spreadsheetFormatterName = GENERAL;
377388
break;
389+
case HYPERLINKING_STRING:
390+
spreadsheetFormatterName = HYPERLINKING;
391+
break;
378392
case LONG_DATE_STRING:
379393
spreadsheetFormatterName = LONG_DATE;
380394
break;

src/main/java/walkingkooka/spreadsheet/format/provider/SpreadsheetFormattersSpreadsheetFormatterProvider.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ public SpreadsheetFormatter spreadsheetFormatter(final SpreadsheetFormatterSelec
8888
case SpreadsheetFormatterName.FULL_DATE_TIME_STRING:
8989
case SpreadsheetFormatterName.FULL_TIME_STRING:
9090
case SpreadsheetFormatterName.GENERAL_STRING:
91+
case SpreadsheetFormatterName.HYPERLINKING_STRING:
9192
case SpreadsheetFormatterName.LONG_DATE_STRING:
9293
case SpreadsheetFormatterName.LONG_DATE_TIME_STRING:
9394
case SpreadsheetFormatterName.LONG_TIME_STRING:
@@ -260,6 +261,13 @@ public SpreadsheetFormatter spreadsheetFormatter(final SpreadsheetFormatterName
260261

261262
formatter = SpreadsheetFormatters.general();
262263
break;
264+
case SpreadsheetFormatterName.HYPERLINKING_STRING:
265+
parameterCountCheck(1, count);
266+
267+
formatter = SpreadsheetFormatters.hyperlinking(
268+
(SpreadsheetFormatter) copy.get(0)
269+
);
270+
break;
263271
case SpreadsheetFormatterName.LONG_DATE_STRING:
264272
parameterCountCheck(count);
265273

@@ -648,6 +656,9 @@ public Optional<SpreadsheetFormatterSelectorToken> spreadsheetFormatterNextToken
648656
case SpreadsheetFormatterName.GENERAL_STRING:
649657
next = null;
650658
break;
659+
case SpreadsheetFormatterName.HYPERLINKING_STRING:
660+
next = null;
661+
break;
651662
case SpreadsheetFormatterName.LONG_DATE_STRING:
652663
next = null;
653664
break;
@@ -1082,6 +1093,9 @@ public List<SpreadsheetFormatterSample> spreadsheetFormatterSamples(final Spread
10821093
}
10831094
break;
10841095
}
1096+
case SpreadsheetFormatterName.HYPERLINKING_STRING: {
1097+
break;
1098+
}
10851099
case SpreadsheetFormatterName.LONG_DATE_STRING:
10861100
samples.add(
10871101
longDateSample(
@@ -2118,6 +2132,7 @@ public SpreadsheetFormatterInfoSet spreadsheetFormatterInfos() {
21182132
spreadsheetFormatterInfo(SpreadsheetFormatterName.FULL_DATE_TIME),
21192133
spreadsheetFormatterInfo(SpreadsheetFormatterName.FULL_TIME),
21202134
spreadsheetFormatterInfo(SpreadsheetFormatterName.GENERAL),
2135+
spreadsheetFormatterInfo(SpreadsheetFormatterName.HYPERLINKING),
21212136
spreadsheetFormatterInfo(SpreadsheetFormatterName.LONG_DATE),
21222137
spreadsheetFormatterInfo(SpreadsheetFormatterName.LONG_DATE_TIME),
21232138
spreadsheetFormatterInfo(SpreadsheetFormatterName.LONG_TIME),

src/test/java/walkingkooka/spreadsheet/engine/SpreadsheetEngineContextSharedSpreadsheetContextTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1315,7 +1315,7 @@ public void testToString() {
13151315
" \"findFunctions\": \"@\",\n" +
13161316
" \"findHighlighting\": false,\n" +
13171317
" \"formHandlers\": \"basic\",\n" +
1318-
" \"formatters\": \"accounting, automatic, badge-error, collection, currency, date, date-time, default-text, expression, full-date, full-date-time, full-time, general, long-date, long-date-time, long-time, medium-date, medium-date-time, medium-time, number, percent, scientific, short-date, short-date-time, short-time, text, time\",\n" +
1318+
" \"formatters\": \"accounting, automatic, badge-error, collection, currency, date, date-time, default-text, expression, full-date, full-date-time, full-time, general, hyperlinking, long-date, long-date-time, long-time, medium-date, medium-date-time, medium-time, number, percent, scientific, short-date, short-date-time, short-time, text, time\",\n" +
13191319
" \"formattingConverter\": \"collection(text, number, date-time, basic, spreadsheet-value, boolean, error-throwing, color, expression, environment, locale, plugins, spreadsheet-metadata, style, text-node, template, net)\",\n" +
13201320
" \"formulaConverter\": \"collection(text, number, date-time, basic, spreadsheet-value, boolean, error-throwing, color, expression, environment, json, locale, template, net)\",\n" +
13211321
" \"formulaFunctions\": \"@test-context-loadCell, test-context-serverUrl, test-context-spreadsheet-metadata, xyz\",\n" +
@@ -1540,7 +1540,7 @@ public void testToStringMetadataIncludingAllColorNameAndColorNumberProperties()
15401540
" \"findFunctions\": \"@\",\n" +
15411541
" \"findHighlighting\": false,\n" +
15421542
" \"formHandlers\": \"basic\",\n" +
1543-
" \"formatters\": \"accounting, automatic, badge-error, collection, currency, date, date-time, default-text, expression, full-date, full-date-time, full-time, general, long-date, long-date-time, long-time, medium-date, medium-date-time, medium-time, number, percent, scientific, short-date, short-date-time, short-time, text, time\",\n" +
1543+
" \"formatters\": \"accounting, automatic, badge-error, collection, currency, date, date-time, default-text, expression, full-date, full-date-time, full-time, general, hyperlinking, long-date, long-date-time, long-time, medium-date, medium-date-time, medium-time, number, percent, scientific, short-date, short-date-time, short-time, text, time\",\n" +
15441544
" \"formattingConverter\": \"collection(text, number, date-time, basic, spreadsheet-value, boolean, error-throwing, color, expression, environment, locale, plugins, spreadsheet-metadata, style, text-node, template, net)\",\n" +
15451545
" \"formulaConverter\": \"collection(text, number, date-time, basic, spreadsheet-value, boolean, error-throwing, color, expression, environment, json, locale, template, net)\",\n" +
15461546
" \"formulaFunctions\": \"@test-context-loadCell, test-context-serverUrl, test-context-spreadsheet-metadata, xyz\",\n" +

src/test/java/walkingkooka/spreadsheet/format/provider/SpreadsheetFormatterNameTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,11 @@ public void testWithGeneral() {
8787
this.verifyConstant("general");
8888
}
8989

90+
@Test
91+
public void testWithHyperlinking() {
92+
this.verifyConstant("hyperlinking");
93+
}
94+
9095
@Test
9196
public void testWithLongDate() {
9297
this.verifyConstant("long-date");

src/test/java/walkingkooka/spreadsheet/format/provider/SpreadsheetFormattersSpreadsheetFormatterProviderTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,19 @@ public void testSpreadsheetFormatterSelectorWithGeneral() {
652652
);
653653
}
654654

655+
// hyperlinking.....................................................................................................
656+
657+
@Test
658+
public void testSpreadsheetFormatterSelectorWithHyperlinking() {
659+
this.spreadsheetFormatterAndCheck(
660+
"hyperlinking(general)",
661+
PROVIDER_CONTEXT,
662+
SpreadsheetFormatters.hyperlinking(
663+
SpreadsheetFormatters.general()
664+
)
665+
);
666+
}
667+
655668
// long-date........................................................................................................
656669

657670
@Test
@@ -4683,6 +4696,7 @@ public void testTreePrintable() {
46834696
" https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/full-date-time full-date-time\n" +
46844697
" https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/full-time full-time\n" +
46854698
" https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/general general\n" +
4699+
" https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/hyperlinking hyperlinking\n" +
46864700
" https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/long-date long-date\n" +
46874701
" https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/long-date-time long-date-time\n" +
46884702
" https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/long-time long-time\n" +
@@ -4720,6 +4734,7 @@ public void testMarshall() {
47204734
" \"https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/full-date-time full-date-time\",\n" +
47214735
" \"https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/full-time full-time\",\n" +
47224736
" \"https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/general general\",\n" +
4737+
" \"https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/hyperlinking hyperlinking\",\n" +
47234738
" \"https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/long-date long-date\",\n" +
47244739
" \"https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/long-date-time long-date-time\",\n" +
47254740
" \"https://github.com/mP1/walkingkooka-spreadsheet/SpreadsheetFormatter/long-time long-time\",\n" +

src/test/java/walkingkooka/spreadsheet/meta/SpreadsheetMetadataNonEmptyTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3017,6 +3017,7 @@ public void testTreePrintWithSpreadsheetId() {
30173017
" full-date-time\n" +
30183018
" full-time\n" +
30193019
" general\n" +
3020+
" hyperlinking\n" +
30203021
" long-date\n" +
30213022
" long-date-time\n" +
30223023
" long-time\n" +
@@ -3243,6 +3244,7 @@ public void testTreePrintWithSpreadsheetIdAndSpreadsheetName() {
32433244
" full-date-time\n" +
32443245
" full-time\n" +
32453246
" general\n" +
3247+
" hyperlinking\n" +
32463248
" long-date\n" +
32473249
" long-date-time\n" +
32483250
" long-time\n" +
@@ -3467,6 +3469,7 @@ public void testTreePrintMissingSpreadsheetId() {
34673469
" full-date-time\n" +
34683470
" full-time\n" +
34693471
" general\n" +
3472+
" hyperlinking\n" +
34703473
" long-date\n" +
34713474
" long-date-time\n" +
34723475
" long-time\n" +

src/test/java/walkingkooka/spreadsheet/meta/SpreadsheetMetadataSpreadsheetEnvironmentContextTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -828,6 +828,7 @@ public void testTreePrint() {
828828
" full-date-time\n" +
829829
" full-time\n" +
830830
" general\n" +
831+
" hyperlinking\n" +
831832
" long-date\n" +
832833
" long-date-time\n" +
833834
" long-time\n" +

0 commit comments

Comments
 (0)