test_class.declarator: empty = WorkspaceFamily.parse("")
test_class.modifier: private final
test_class.original_string: private final WorkspaceFamily empty = WorkspaceFamily.parse("");
test_class.type: WorkspaceFamily
test_class.var_name: empty
test_class.declarator: single = WorkspaceFamily.parse("single")
test_class.modifier: private final
test_class.original_string: private final WorkspaceFamily single = WorkspaceFamily.parse("single");
test_class.type: WorkspaceFamily
test_class.var_name: single
test_class.declarator: dual = WorkspaceFamily.parse("hello@world")
test_class.modifier: private final
test_class.original_string: private final WorkspaceFamily dual = WorkspaceFamily.parse("hello@world");
test_class.type: WorkspaceFamily
test_class.var_name: dual
test_class.file: demetra-workspace/src/test/java/ec/demetra/workspace/WorkspaceFamilyTest.java
test_class.identifier: WorkspaceFamilyTest
test_case.body: @Test
      public void testStartWith() {
          assertThat(empty.startsWith(empty)).isTrue();
          assertThat(empty.startsWith(single)).isFalse();
          assertThat(empty.startsWith(dual)).isFalse();
          assertThat(single.startsWith(empty)).isTrue();
          assertThat(single.startsWith(single)).isTrue();
          assertThat(single.startsWith(dual)).isFalse();
          assertThat(dual.startsWith(empty)).isTrue();
          assertThat(dual.startsWith(single)).isFalse();
          assertThat(dual.startsWith(dual)).isTrue();
          assertThat(dual.startsWith(WorkspaceFamily.parse("hello"))).isTrue();
      }
test_case.class_method_signature: WorkspaceFamilyTest.testStartWith()
test_case.full_signature: @Test public void testStartWith()
test_case.identifier: testStartWith
test_case.invocations: isTrue assertThat startsWith isFalse assertThat startsWith isFalse assertThat startsWith isTrue assertThat startsWith isTrue assertThat startsWith isFalse assertThat startsWith isTrue assertThat startsWith isFalse assertThat startsWith isTrue assertThat startsWith isTrue assertThat startsWith parse
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testStartWith()
focal_class.declarator: EMPTY = new WorkspaceFamily(new String[0])
focal_class.modifier: private static final
focal_class.original_string: private static final WorkspaceFamily EMPTY = new WorkspaceFamily(new String[0]);
focal_class.type: WorkspaceFamily
focal_class.var_name: EMPTY
focal_class.declarator: data
focal_class.modifier: private final
focal_class.original_string: private final String[] data;
focal_class.type: String[]
focal_class.var_name: data
focal_class.declarator: SA_MULTI = parse("Seasonal adjustment@multi-documents")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily SA_MULTI = parse("Seasonal adjustment@multi-documents");
focal_class.type: WorkspaceFamily
focal_class.var_name: SA_MULTI
focal_class.declarator: SA_DOC_X13 = parse("Seasonal adjustment@documents@x13")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily SA_DOC_X13 = parse("Seasonal adjustment@documents@x13");
focal_class.type: WorkspaceFamily
focal_class.var_name: SA_DOC_X13
focal_class.declarator: SA_DOC_TRAMOSEATS = parse("Seasonal adjustment@documents@tramoseats")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily SA_DOC_TRAMOSEATS = parse("Seasonal adjustment@documents@tramoseats");
focal_class.type: WorkspaceFamily
focal_class.var_name: SA_DOC_TRAMOSEATS
focal_class.declarator: SA_SPEC_X13 = parse("Seasonal adjustment@specifications@x13")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily SA_SPEC_X13 = parse("Seasonal adjustment@specifications@x13");
focal_class.type: WorkspaceFamily
focal_class.var_name: SA_SPEC_X13
focal_class.declarator: SA_SPEC_TRAMOSEATS = parse("Seasonal adjustment@specifications@tramoseats")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily SA_SPEC_TRAMOSEATS = parse("Seasonal adjustment@specifications@tramoseats");
focal_class.type: WorkspaceFamily
focal_class.var_name: SA_SPEC_TRAMOSEATS
focal_class.declarator: MOD_DOC_REGARIMA = parse("Modelling@documents@regarima")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily MOD_DOC_REGARIMA = parse("Modelling@documents@regarima");
focal_class.type: WorkspaceFamily
focal_class.var_name: MOD_DOC_REGARIMA
focal_class.declarator: MOD_DOC_TRAMO = parse("Modelling@documents@tramo")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily MOD_DOC_TRAMO = parse("Modelling@documents@tramo");
focal_class.type: WorkspaceFamily
focal_class.var_name: MOD_DOC_TRAMO
focal_class.declarator: MOD_SPEC_REGARIMA = parse("Modelling@specifications@regarima")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily MOD_SPEC_REGARIMA = parse("Modelling@specifications@regarima");
focal_class.type: WorkspaceFamily
focal_class.var_name: MOD_SPEC_REGARIMA
focal_class.declarator: MOD_SPEC_TRAMO = parse("Modelling@specifications@tramo")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily MOD_SPEC_TRAMO = parse("Modelling@specifications@tramo");
focal_class.type: WorkspaceFamily
focal_class.var_name: MOD_SPEC_TRAMO
focal_class.declarator: UTIL_CAL = parse("Utilities@Calendars")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily UTIL_CAL = parse("Utilities@Calendars");
focal_class.type: WorkspaceFamily
focal_class.var_name: UTIL_CAL
focal_class.declarator: UTIL_VAR = parse("Utilities@Variables")
focal_class.modifier: public static final
focal_class.original_string: public static final WorkspaceFamily UTIL_VAR = parse("Utilities@Variables");
focal_class.type: WorkspaceFamily
focal_class.var_name: UTIL_VAR
focal_class.file: demetra-workspace/src/main/java/ec/demetra/workspace/WorkspaceFamily.java
focal_class.identifier: WorkspaceFamily
focal_class.interfaces: implements Id
focal_class.class_method_signature: WorkspaceFamily.of(@NonNull Id id)
focal_class.full_signature: @NonNull public static WorkspaceFamily of(@NonNull Id id)
focal_class.identifier: of
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull Id id)
focal_class.return: WorkspaceFamily
focal_class.signature: WorkspaceFamily of(@NonNull Id id)
focal_class.class_method_signature: WorkspaceFamily.parse(@NonNull String input)
focal_class.full_signature: @NonNull public static WorkspaceFamily parse(@NonNull String input)
focal_class.identifier: parse
focal_class.modifiers: @NonNull public static
focal_class.parameters: (@NonNull String input)
focal_class.return: WorkspaceFamily
focal_class.signature: WorkspaceFamily parse(@NonNull String input)
focal_class.class_method_signature: WorkspaceFamily.WorkspaceFamily(String[] data)
focal_class.full_signature: private  WorkspaceFamily(String[] data)
focal_class.identifier: WorkspaceFamily
focal_class.modifiers: private
focal_class.parameters: (String[] data)
focal_class.signature:  WorkspaceFamily(String[] data)
focal_class.class_method_signature: WorkspaceFamily.get(int index)
focal_class.full_signature: @Override public String get(int index)
focal_class.identifier: get
focal_class.modifiers: @Override public
focal_class.parameters: (int index)
focal_class.return: String
focal_class.signature: String get(int index)
focal_class.class_method_signature: WorkspaceFamily.extend(String tail)
focal_class.full_signature: @Override public WorkspaceFamily extend(String tail)
focal_class.identifier: extend
focal_class.modifiers: @Override public
focal_class.parameters: (String tail)
focal_class.return: WorkspaceFamily
focal_class.signature: WorkspaceFamily extend(String tail)
focal_class.class_method_signature: WorkspaceFamily.parent()
focal_class.full_signature: @Override public WorkspaceFamily parent()
focal_class.identifier: parent
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: WorkspaceFamily
focal_class.signature: WorkspaceFamily parent()
focal_class.class_method_signature: WorkspaceFamily.getCount()
focal_class.full_signature: @Override public int getCount()
focal_class.identifier: getCount
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getCount()
focal_class.class_method_signature: WorkspaceFamily.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: WorkspaceFamily.equals(WorkspaceFamily that)
focal_class.full_signature: private boolean equals(WorkspaceFamily that)
focal_class.identifier: equals
focal_class.modifiers: private
focal_class.parameters: (WorkspaceFamily that)
focal_class.return: boolean
focal_class.signature: boolean equals(WorkspaceFamily that)
focal_class.class_method_signature: WorkspaceFamily.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: WorkspaceFamily.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: WorkspaceFamily.toArray()
focal_class.full_signature: @Override public String[] toArray()
focal_class.identifier: toArray
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String[]
focal_class.signature: String[] toArray()
focal_method.body: @NonNull
      public static WorkspaceFamily parse(@NonNull String input) {
          return !input.isEmpty() ? new WorkspaceFamily(input.split("@", -1)) : EMPTY;
      }
focal_method.class_method_signature: WorkspaceFamily.parse(@NonNull String input)
focal_method.full_signature: @NonNull public static WorkspaceFamily parse(@NonNull String input)
focal_method.identifier: parse
focal_method.invocations: isEmpty split
focal_method.modifiers: @NonNull public static
focal_method.parameters: (@NonNull String input)
focal_method.return: WorkspaceFamily
focal_method.signature: WorkspaceFamily parse(@NonNull String input)