Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8400171
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T21:29:43+00:00 2026-06-09T21:29:43+00:00

I am creating a program where I have objects called hierarchies, which is little

  • 0

I am creating a program where I have objects called “hierarchies”, which is little more than a list of lists with strings (ArrayList<ArrayList<String>>) with appropriate getters.

The user should be able to select the representation/formatting of these hierarchies – e.g. whether the hierarchy [1,2,3,4] should be represented as {1,2,3,4} or (1-4) or whatever, before it is written to a file.

Is there a clever/standard way to do this kind of separation of data and formatting? I am thinking of creating a “FormattedHierarchy”-object which merely consists of a Hierarchy-object and a Formatting-object, but I don’t know if this is a good design choice or not.

Thanks for any pointers/tips/answers.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-09T21:29:44+00:00Added an answer on June 9, 2026 at 9:29 pm

    The worst thing you can do is coupling your hierarchy data representation with formatting. The hierarchy class should not know anything about formatting. My advice is to create a separate interface HierarchyFormatter with several different implementations.

    I think code is worth thousand words:

    public interface HierarchyFormatter {
        String format(Hierarchy hierarchy);
    }
    
    public class BraceFormatter implements HierarchyFormatter {
        public String format(Hierarchy hierarchy) {
            //...
        }
    }
    
    public class RangeFormatter implements HierarchyFormatter {
        public String format(Hierarchy hierarchy) {
            //...
        }
    }
    

    This is called a strategy design pattern. If some code needs to format your hierarchy, just pass an instance of HierarchyFormatter – any instance.

    If you want to permanently bind hierarchy with some formatting, make your formatter stateful:

    public abstract class HierarchyFormatter {
        protected final Hierarchy hierarchy;
    
        public HierarchyFormatter(Hierarchy hierarchy) {
            this.hierarchy = hierarchy;
        }
    
        public abstract String format();
    }
    
    public class BraceFormatter extends HierarchyFormatter {
        public String format() {
            //...
        }
    }
    
    public class RangeFormatter extends HierarchyFormatter {
        public String format() {
            //...
        }
    }
    

    Every time you create a formatter, you encapsulate the hierarchy class inside it.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm creating an about JFrame for my program. I have an icon which I
I have got a simple ConsoleProgram which is creating a list of 80 IDisposable
I'm creating a program in VB.NET to output multiple images. Some images will have
I'm creating a program to open .txt files in a given directory, I have
I creating a program which send newsletter with a background image. It works fine
I am creating a program which has an installer-like interface. Is it better to
I have a library which creates objects (instances of class A) and pass them
I have tons of objects which I want to save for offline use. Currently
I'm creating a utility program which draws some (user customizable) icons onto other windows
I have this object Object1 defined as public Object1(String item, List<Object2> obj2) in a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.