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 8344209
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T06:17:35+00:00 2026-06-09T06:17:35+00:00

i have a desktop application that consists of 10 features, and some clients asks

  • 0

i have a desktop application that consists of 10 features, and some clients asks only for 8 features or 7 features.
i want to have a way to manage adding/removing the permissions/features for the client (only i can control that). so that i can hide/show feature based on a flag.

is that should be done through a property file that contains the name of the feature with boolean flag, or what ?

please give me some ideas, thanks.

  • 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-09T06:17:38+00:00Added an answer on June 9, 2026 at 6:17 am

    From your other answers, it sounds to me like the following additional details have cropped up; please let me know if I have these wrong:

    1. You’re delivering your application as a .jar file,
    2. Each customer gets their build directly from you, and there’s a small number of customers,
    3. You configure a build specifically for each customer, and
    4. You don’t want your customers to be able to modify their feature access.

    In that scenario, I’d store the “active” feature list in a hashed property value stored in a .properties file bound into the .jar. I’ll describe one way to do that below. You generate the properties file just before delivery, add the file to the jar:

    jar -uf applicationJarFile.jar configuration.properties
    

    then sign the .jar and deliver it. At runtime, your app can load the properties file, run the hash of each feature, compare with the properties you’ve stored, and determine which ones are off or on.

    Your properties, which determine which features are enabled, might consist of a list like this:

    feature1=enabled
    feature2=disabled
    feature3=disabled
    feature4=enabled
    

    Write yourself a utility which hashes the whole string “feature1=enabled” plus a salt value, e.g. “feature1=enabledaKn087*h5^jbAS5yt”. (There’s code for this built into java; see How can I generate an MD5 hash?, for example.) The result will be an opaque 16-byte number, which you can then store in another properties file to be included in your app: feature1=1865834…. The salt value should be broken into multiple shorter strings in your code so your customer can’t just retrieve it and easily duplicate the process themselves.

    In your app, at startup, you construct the string above using both the “enabled” and the “disabled” value, run the MD5 of both, and compare it with the stored hash. That’ll tell you what features to enable.

    I think a separate .jar or .properties is a bad idea; it clutters your delivery.

    You can automate the whole process fairly easily, since you can generate the properties on the fly any time, and bind them into your app.

    You can add other “baked in” properties which gives you a lot of flexibility in the final deliverable, including things like skinning for customer branding.

    As others have pointed out, though: there’s lots of ways to approach this, depending on the rest of the details of your product and your overall goals. This is one way to do it, given the assumptions above. AFAIK, there’s no “canonical” way to do this sort of thing.

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

Sidebar

Related Questions

I have a Windows desktop application that I want to add some functionality to.
I have a simple Desktop Facebook application that allows the user to retrieve some
I have Java Desktop application that displays some information in a JTable that contains
I have a Qt desktop application that works on Linux and Windows. At some
Use scenario is pretty simple: I have a desktop only application that could be
I have Java desktop application that works with CSV files. And i want add
I have Java Desktop application that displays some information in a JTable that may
We have a Windows Java desktop application that creates some configuration files at %APPDATA%
Let's imagine you have a fullscreen C++ desktop application that consists of several screens
I have desktop application and I want that all new data in this application

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.