test_class.declarator: PNAME = "SPREADSHEET"
test_class.modifier: static final
test_class.original_string: static final String PNAME = "SPREADSHEET", VERSION = "20111209",
              K1 = "file", V1 = "c:\\data.txt",
              K2 = "locale", V2 = "fr_BE",
              K3 = "datePattern", V3 = "yyyy-MM-dd";
test_class.type: String
test_class.var_name: PNAME
test_class.declarator: P0 = ImmutableSortedMap.of()
test_class.modifier: static final
test_class.original_string: static final ImmutableSortedMap<String, String> P0 = ImmutableSortedMap.of();
test_class.type: ImmutableSortedMap<String, String>
test_class.var_name: P0
test_class.declarator: P1 = ImmutableSortedMap.of(K1, V1)
test_class.modifier: static final
test_class.original_string: static final ImmutableSortedMap<String, String> P1 = ImmutableSortedMap.of(K1, V1);
test_class.type: ImmutableSortedMap<String, String>
test_class.var_name: P1
test_class.declarator: P3 = ImmutableSortedMap.of(K1, V1, K2, V2, K3, V3)
test_class.modifier: static final
test_class.original_string: static final ImmutableSortedMap<String, String> P3 = ImmutableSortedMap.of(K1, V1, K2, V2, K3, V3);
test_class.type: ImmutableSortedMap<String, String>
test_class.var_name: P3
test_class.declarator: ZERO = new DataSource(PNAME, VERSION, P0)
test_class.modifier: static final
test_class.original_string: static final DataSource ZERO = new DataSource(PNAME, VERSION, P0);
test_class.type: DataSource
test_class.var_name: ZERO
test_class.declarator: ONE = new DataSource(PNAME, VERSION, P1)
test_class.modifier: static final
test_class.original_string: static final DataSource ONE = new DataSource(PNAME, VERSION, P1);
test_class.type: DataSource
test_class.var_name: ONE
test_class.file: jtss/src/test/java/ec/tss/tsproviders/DataSourceTest.java
test_class.identifier: DataSourceTest
test_case.body: @Test
      public void testXmlFormatter() {
          IFormatter<DataSource> formatter = DataSource.xmlFormatter(false);
  
          assertThat(formatter.format(newSample()))
                  .isNotEmpty()
                  .isEqualTo(formatter.format(newSample()))
                  .isEqualTo(formatter.format(new DataSource(PNAME, VERSION, ImmutableSortedMap.of(K3, V3, K2, V2, K1, V1))))
                  .isNotEqualTo(formatter.format(ZERO));
      }
test_case.class_method_signature: DataSourceTest.testXmlFormatter()
test_case.full_signature: @Test public void testXmlFormatter()
test_case.identifier: testXmlFormatter
test_case.invocations: xmlFormatter isNotEqualTo isEqualTo isEqualTo isNotEmpty assertThat format newSample format newSample format of format
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testXmlFormatter()
focal_class.declarator: providerName
focal_class.modifier: private final
focal_class.original_string: private final String providerName;
focal_class.type: String
focal_class.var_name: providerName
focal_class.declarator: version
focal_class.modifier: private final
focal_class.original_string: private final String version;
focal_class.type: String
focal_class.var_name: version
focal_class.declarator: params
focal_class.modifier: private final
focal_class.original_string: private final ImmutableSortedMap<String, String> params;
focal_class.type: ImmutableSortedMap<String, String>
focal_class.var_name: params
focal_class.declarator: XML = ThreadLocal.withInitial(Xml::new)
focal_class.modifier: private static final
focal_class.original_string: private static final ThreadLocal<Xml> XML = ThreadLocal.withInitial(Xml::new);
focal_class.type: ThreadLocal<Xml>
focal_class.var_name: XML
focal_class.declarator: SCHEME = "demetra"
focal_class.modifier: private static final
focal_class.original_string: private static final String SCHEME = "demetra";
focal_class.type: String
focal_class.var_name: SCHEME
focal_class.declarator: HOST = "tsprovider"
focal_class.modifier: private static final
focal_class.original_string: private static final String HOST = "tsprovider";
focal_class.type: String
focal_class.var_name: HOST
focal_class.declarator: URI_PARSER = new FailSafeParser<DataSource>() {
          @Override
          protected DataSource doParse(CharSequence input) throws Exception {
              URI uri = new URI(input.toString());
              if (!SCHEME.equals(uri.getScheme()) || !HOST.equals(uri.getHost())) {
                  return null;
              }
              String[] path = UriBuilder.getPathArray(uri, 2);
              if (path == null) {
                  return null;
              }
              Map<String, String> query = UriBuilder.getQueryMap(uri);
              if (query == null) {
                  return null;
              }
              return new DataSource(path[0], path[1], Util.toImmutable(query));
          }
      }
focal_class.modifier: private static final
focal_class.original_string: private static final Parsers.Parser<DataSource> URI_PARSER = new FailSafeParser<DataSource>() {
          @Override
          protected DataSource doParse(CharSequence input) throws Exception {
              URI uri = new URI(input.toString());
              if (!SCHEME.equals(uri.getScheme()) || !HOST.equals(uri.getHost())) {
                  return null;
              }
              String[] path = UriBuilder.getPathArray(uri, 2);
              if (path == null) {
                  return null;
              }
              Map<String, String> query = UriBuilder.getQueryMap(uri);
              if (query == null) {
                  return null;
              }
              return new DataSource(path[0], path[1], Util.toImmutable(query));
          }
      };
focal_class.type: Parsers.Parser<DataSource>
focal_class.var_name: URI_PARSER
focal_class.declarator: URI_FORMATTER = Formatters.wrap(DataSource::formatAsUri)
focal_class.modifier: private static final
focal_class.original_string: private static final Formatters.Formatter<DataSource> URI_FORMATTER = Formatters.wrap(DataSource::formatAsUri);
focal_class.type: Formatters.Formatter<DataSource>
focal_class.var_name: URI_FORMATTER
focal_class.file: jtss/src/main/java/ec/tss/tsproviders/DataSource.java
focal_class.identifier: DataSource
focal_class.interfaces: implements IConfig, Serializable
focal_class.class_method_signature: DataSource.DataSource(@NonNull String providerName, @NonNull String version, @NonNull ImmutableSortedMap<String, String> params)
focal_class.full_signature: @VisibleForTesting  DataSource(@NonNull String providerName, @NonNull String version, @NonNull ImmutableSortedMap<String, String> params)
focal_class.identifier: DataSource
focal_class.modifiers: @VisibleForTesting
focal_class.parameters: (@NonNull String providerName, @NonNull String version, @NonNull ImmutableSortedMap<String, String> params)
focal_class.signature:  DataSource(@NonNull String providerName, @NonNull String version, @NonNull ImmutableSortedMap<String, String> params)
focal_class.class_method_signature: DataSource.getProviderName()
focal_class.full_signature: @NonNull public String getProviderName()
focal_class.identifier: getProviderName
focal_class.modifiers: @NonNull public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getProviderName()
focal_class.class_method_signature: DataSource.getVersion()
focal_class.full_signature: @NonNull public String getVersion()
focal_class.identifier: getVersion
focal_class.modifiers: @NonNull public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getVersion()
focal_class.class_method_signature: DataSource.getParams()
focal_class.full_signature: @Override public SortedMap<String, String> getParams()
focal_class.identifier: getParams
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: SortedMap<String, String>
focal_class.signature: SortedMap<String, String> getParams()
focal_class.class_method_signature: DataSource.equals(Object obj)
focal_class.full_signature: @Override public boolean equals(Object obj)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(Object obj)
focal_class.class_method_signature: DataSource.equals(DataSource that)
focal_class.full_signature: private boolean equals(DataSource that)
focal_class.identifier: equals
focal_class.modifiers: private
focal_class.parameters: (DataSource that)
focal_class.return: boolean
focal_class.signature: boolean equals(DataSource that)
focal_class.class_method_signature: DataSource.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: DataSource.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: DataSource.toBuilder()
focal_class.full_signature: @NonNull public Builder toBuilder()
focal_class.identifier: toBuilder
focal_class.modifiers: @NonNull public
focal_class.parameters: ()
focal_class.return: Builder
focal_class.signature: Builder toBuilder()
focal_class.class_method_signature: DataSource.toBean()
focal_class.full_signature: @VisibleForTesting DataSourceBean toBean()
focal_class.identifier: toBean
focal_class.modifiers: @VisibleForTesting
focal_class.parameters: ()
focal_class.return: DataSourceBean
focal_class.signature: DataSourceBean toBean()
focal_class.class_method_signature: DataSource.of(@NonNull String providerName, @NonNull String version)
focal_class.full_signature: @NonNull public static DataSource of(@NonNull String providerName, @NonNull String version)
focal_class.identifier: of
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull String providerName, @NonNull String version)
focal_class.return: DataSource
focal_class.signature: DataSource of(@NonNull String providerName, @NonNull String version)
focal_class.class_method_signature: DataSource.of(@NonNull String providerName, @NonNull String version, @NonNull String key, @NonNull String value)
focal_class.full_signature: @NonNull public static DataSource of(@NonNull String providerName, @NonNull String version, @NonNull String key, @NonNull String value)
focal_class.identifier: of
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull String providerName, @NonNull String version, @NonNull String key, @NonNull String value)
focal_class.return: DataSource
focal_class.signature: DataSource of(@NonNull String providerName, @NonNull String version, @NonNull String key, @NonNull String value)
focal_class.class_method_signature: DataSource.deepCopyOf(@NonNull String providerName, @NonNull String version, @NonNull Map<String, String> params)
focal_class.full_signature: @NonNull public static DataSource deepCopyOf(@NonNull String providerName, @NonNull String version, @NonNull Map<String, String> params)
focal_class.identifier: deepCopyOf
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull String providerName, @NonNull String version, @NonNull Map<String, String> params)
focal_class.return: DataSource
focal_class.signature: DataSource deepCopyOf(@NonNull String providerName, @NonNull String version, @NonNull Map<String, String> params)
focal_class.class_method_signature: DataSource.builder(@NonNull String providerName, @NonNull String version)
focal_class.full_signature: @NonNull public static Builder builder(@NonNull String providerName, @NonNull String version)
focal_class.identifier: builder
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull String providerName, @NonNull String version)
focal_class.return: Builder
focal_class.signature: Builder builder(@NonNull String providerName, @NonNull String version)
focal_class.class_method_signature: DataSource.builder(@NonNull DataSource dataSource)
focal_class.full_signature: @Deprecated @NonNull public static Builder builder(@NonNull DataSource dataSource)
focal_class.identifier: builder
focal_class.modifiers: @Deprecated @NonNull public static
focal_class.parameters: (@NonNull DataSource dataSource)
focal_class.return: Builder
focal_class.signature: Builder builder(@NonNull DataSource dataSource)
focal_class.class_method_signature: DataSource.xmlFormatter(boolean formattedOutput)
focal_class.full_signature: public static Formatters.@NonNull Formatter<DataSource> xmlFormatter(boolean formattedOutput)
focal_class.identifier: xmlFormatter
focal_class.modifiers: public static
focal_class.parameters: (boolean formattedOutput)
focal_class.return: Formatters.@NonNull Formatter<DataSource>
focal_class.signature: Formatters.@NonNull Formatter<DataSource> xmlFormatter(boolean formattedOutput)
focal_class.class_method_signature: DataSource.xmlParser()
focal_class.full_signature: public static Parsers.@NonNull Parser<DataSource> xmlParser()
focal_class.identifier: xmlParser
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: Parsers.@NonNull Parser<DataSource>
focal_class.signature: Parsers.@NonNull Parser<DataSource> xmlParser()
focal_class.class_method_signature: DataSource.uriFormatter()
focal_class.full_signature: public static Formatters.@NonNull Formatter<DataSource> uriFormatter()
focal_class.identifier: uriFormatter
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: Formatters.@NonNull Formatter<DataSource>
focal_class.signature: Formatters.@NonNull Formatter<DataSource> uriFormatter()
focal_class.class_method_signature: DataSource.uriParser()
focal_class.full_signature: public static Parsers.@NonNull Parser<DataSource> uriParser()
focal_class.identifier: uriParser
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: Parsers.@NonNull Parser<DataSource>
focal_class.signature: Parsers.@NonNull Parser<DataSource> uriParser()
focal_class.class_method_signature: DataSource.formatAsUri(DataSource value)
focal_class.full_signature: private static CharSequence formatAsUri(DataSource value)
focal_class.identifier: formatAsUri
focal_class.modifiers: private static
focal_class.parameters: (DataSource value)
focal_class.return: CharSequence
focal_class.signature: CharSequence formatAsUri(DataSource value)
focal_method.body: public static Formatters.@NonNull Formatter<DataSource> xmlFormatter(boolean formattedOutput) {
          return formattedOutput ? XML.get().formattedOutputFormatter : XML.get().defaultFormatter;
      }
focal_method.class_method_signature: DataSource.xmlFormatter(boolean formattedOutput)
focal_method.full_signature: public static Formatters.@NonNull Formatter<DataSource> xmlFormatter(boolean formattedOutput)
focal_method.identifier: xmlFormatter
focal_method.invocations: get get
focal_method.modifiers: public static
focal_method.parameters: (boolean formattedOutput)
focal_method.return: Formatters.@NonNull Formatter<DataSource>
focal_method.signature: Formatters.@NonNull Formatter<DataSource> xmlFormatter(boolean formattedOutput)