What should be the Java object for this JSON String? [closed] - java

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
{"userId":"vincent","favTracks":{"favourite":"15","unFavourite":"121"}}
What can be the Java object for the above JSON String?

It really depends on how you want to map it. If you're using Jackson, for example, with the default mapping settings, your classes could look something like:
class MyObject {
private String userId;
private FavTracks favTracks;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public FavTracks getFavTracks() {
return favTracks;
}
public void setFavTracks(FavTracks favTracks) {
this.favTracks = favTracks;
}
}
class FavTracks {
private String favourite;
private String unFavourite;
public String getFavourite() {
return favourite;
}
public void setFavourite(String favourite) {
this.favourite = favourite;
}
public String getUnFavourite() {
return unFavourite;
}
public void setUnFavourite(String unFavourite) {
this.unFavourite = unFavourite;
}
}
One remark: in your current example, the favourite and unFavourite properties are of a string type. Maybe a numeric type is more suitable?

Related

Return value from ENUM [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 1 year ago.
Improve this question
I have a Java ENUM where I store different statuses:
public enum BusinessCustomersStatus {
A("active", "Active"),
O("onboarding", "Onboarding"),
NV("not_verified", "Not Verified"),
V("verified", "Verified"),
S("suspended", "Suspended"),
I("inactive", "Inactive");
#Getter
private String shortName;
#JsonValue
#Getter
private String fullName;
BusinessCustomersStatus(String shortName, String fullName) {
this.shortName = shortName;
this.fullName = fullName;
}
// Use the fromStatus method as #JsonCreator
#JsonCreator
public static BusinessCustomersStatus fromStatus(String statusText) {
for (BusinessCustomersStatus status : values()) {
if (status.getShortName().equalsIgnoreCase(statusText)) {
return status;
}
}
throw new UnsupportedOperationException(String.format("Unknown status: '%s'", statusText));
}
}
Full code: https://github.com/rcbandit111/Search_specification_POC/blob/main/src/main/java/org/merchant/database/service/businesscustomers/BusinessCustomersStatus.java
The code works well when I want to get the list of items into pages for the value fullName because I use #JsonValue annotation.
I have a case where I need to get the shortValue for this code:
return businessCustomersService.findById(id).map( businessCustomers -> businessCustomersMapper.toFullDTO(businessCustomers));
source: https://github.com/rcbandit111/Search_specification_POC/blob/316c97aa5dc34488771ee11fb0dcf6dc1e4303da/src/main/java/org/merchant/service/businesscustomers/BusinessCustomersRestServiceImpl.java#L77
But I get fullValue. Do you know for single row how I can map the shortValue?
Yo can use this :
public enum decizion{
YES("Y"), NO("N"), OTHER;
String key;
decizion(String key) { this.key = key; }
//default constructor, used only for the OTHER case,
//because OTHER doesn't need a key to be associated with.
decizion() { }
static decizion getValue(String x) {
if ("Y".equals(x)) { return YES; }
else if ("N".equals(x)) { return NO; }
else if (x == null) { return OTHER; }
else throw new IllegalArgumentException();
}
}
Then, in the method, you can just do:
public static decizion yourDecizion() {
...
String key = ...
return decizion.getValue(key);
}

How to convert Java enum to Swift enum? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 2 years ago.
Improve this question
Below is my java enum.
I want to convert it to Swift enum.
Can you please help me to migrate?
package com.lifeplus.Pojo.Enum;
public enum GattServiceEnum {
CURR_TIME_SERVICE("00001805-0000-1000-8000-00805f9b34fb", "current_time"),
DEVICE_INFORMATION_SERVICE("0000180a-0000-1000-8000-00805f9b34fb", "device_information"),
PULSE_OXY_SERVICE("00001822-0000-1000-8000-00805f9b34fb", "pulse_oximeter"),
CUSTOM_SERVICE("4C505732-5F43-5553-544F-4D5F53525600", "Custom Service");
private final String _id;
private final String _desc;
GattServiceEnum(String pId, String pDesc) {
_id = pId;
_desc = pDesc;
}
public String getId() {
return _id;
}
public String getDesc() {
return _desc;
}
}
Plaese help me to convert this to Java.
There is no need to use an enum. You can simply use a struct
public struct GattService {
public let id: String
public let desc: String
// You can optionally provide the get functions, but it is simpler just to access the properties directly
public func getId() -> String {
return id
}
public func getDesc() -> String {
return desc
}
}
try this، Hopefully it will be useful for you:
public enum GattServiceEnum {
case myNameCase(id: String, desc: String)
case anotherCase
case onlyIdCase(id: String)
case onlyDescCase(desc: String)
public func getId() -> String? {
switch self {
case .myNameCase(let id, _),
.onlyIdCase(let id):
return id
case .anotherCase, .onlyDescCase:
return nil
}
}
public func getDesc() -> String? {
switch self {
case .myNameCase(_, let desc),
.onlyDescCase(let desc):
return desc
case .anotherCase, .onlyIdCase:
return nil
}
}
}
// create
let myEnumObject = GattServiceEnum.myNameCase(id: "123", desc: "hi")
// get id
print(myEnumObject.getId())
// get desc
print(myEnumObject.getDesc())

Object Orientation, Inheritance, Abstraction [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 years ago.
Improve this question
class Student {
private String name;
private int age;
public static String city;
Student() {
}
Student(int a) {
age = a;
}
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
private int getAge() {
return age;
}
public void setCity(String c) {
city = c;
}
public String getCity() {
return city;
}
}
When considering the features of object orientation, which feature(s) is/are shown clearly in the program?
How can I know that above code is:
Abstraction
Encapsulation
Data hiding
Inheritance
Polymorphism
abstraction - No (you don't have any abstract members or classes in your code).
Encapsulation - yes ( Binding code and data together - the class itself) .
polymorphism - no ( no multiple functions with same names ) .
inheritance - no (There is no class that inherits this one and vice versa )

How to manipulate value from a return string in Java [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I have a variable that contains a return value.
Value:
Team ID:
111111
Founded:
Feb 13, 2014 By USER
Dispute Percentage:" 0%
Reputation: -
What I am looking to keep is stickly (11111) and save it back to the value teamID. How can I manipulate the return string to only store that value and delete the rest.
If I understand what you want, you can do something like this
String value = "Team ID:\n" + "19288568\n"
+ "Founded:\n" + "Feb 13, 2014 By MLGQA\n"
+ "\n" + "Dispute Percentage: 0%\n"
+ "Reputation: -\n";
System.out.println(value.split("\n")[1]);
Outputs
19288568
Since your returned String seems somewhat complex to me, I would suggest returning a custom object (a bean) containing the information you want, each with its own field.
By doing that, you will have a quick access to any of the fields you want, by simply calling the appropriate getter method on the returned object.
For example:
public class MyContainer {
private int teamID;
private String foundationDate;
private String foundator;
private int disputePercentage;
private int reputation;
public MyContainer() {
// Constructor code.
}
public int getTeamID() {
return teamID;
}
public void setTeamID(int teamID) {
this.teamID = teamID;
}
public String getFoundationDate() {
return foundationDate;
}
public void setFoundationDate(String foundationDate) {
this.foundationDate = foundationDate;
}
public String getFoundator() {
return foundator;
}
public void setFoundator(String foundator) {
this.foundator = foundator;
}
public int getDisputePercentage() {
return disputePercentage;
}
public void setDisputePercentage(int disputePercentage) {
this.disputePercentage = disputePercentage;
}
public int getReputation() {
return reputation;
}
public void setReputation(int reputation) {
this.reputation = reputation;
}
}
And your original returning method would look to something like this:
public MyContainer returningMethod(Object args) {
// Your code.
MyContainer bean = new MyContainer();
// Fill the container.
return bean;
}
I do not know the exact types of data you use, so feel free to adjust this example for your needs!

How to access remote Object [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Closed 9 years ago.
Questions concerning problems with code you've written must describe the specific problem — and include valid code to reproduce it — in the question itself. See SSCCE.org for guidance.
Questions must demonstrate a minimal understanding of the problem being solved. Tell us what you've tried to do, why it didn't work, and how it should work. See also: Stack Overflow question checklist
Improve this question
I'm new to Java. I want to create Java Object with test data and access the object from remote class. I created this object:
public class TestAgentData
{
public TestAgentDataObj tad;
public class TestAgentDataObj
{
public int agentId = 1234;
public String agentName = "AgentName";
public String description = "AgentDscription";
public TestAgentDataObj(int agentId, String agentName, String description)
{
this.agentId = agentId;
this.agentName = agentName;
this.description = description;
}
public int getAgentId()
{
return agentId;
}
public void setAgentId(int agentId)
{
this.agentId = agentId;
}
public String getAgentName()
{
return agentName;
}
public void setAgentName(String agentName)
{
this.agentName = agentName;
}
public String getDescription()
{
return description;
}
public void setDescription(String description)
{
this.description = description;
}
}
public TestAgentDataObj getTad()
{
return tad;
}
public void setTad(TestAgentDataObj tad)
{
this.tad = tad;
}
}
I tried to access the object from remote class:
Object eded = new TestAgentData.getTad();
But I get error in Netbeans. Can you tell what is the proper way to access data in a Java Object?
I think you need a better understanding about java. There are big errors in this.
You cannot way you create your object is wrong its new TestAgentData()
You can't call getTad() from an object of type Object because there is no getTad() method defined in Object class. Rather do the following
TestAgentDataObj obj=new TestAgentData().new TestAgentDataObj();
TestAgentData eded = new TestAgentData();
eded.setTad(obj);
TestAgentDataObj result=eded.getTad();

Categories

Resources