Are you asking if it is OK to do the following?
public class A {
private B myB = new B();
private String myUnformattedName = "some information";
public String getFormattedInfo() {
return myB.formatInfo(myUnformattedName);
}
}
That's perfectly OK.
Marking a field as private just means that only the containing class should be able to access it...
If you mean something else it's best to pop some code in your question to give people the context
OK, so there's no way to set the values here but you can see here two different ways to call the formatter. When the parameter list gets past three or four items then it gets difficult to read.
In this instance I'd just pass A into the formatter and have a get method for each value you want B to be able to read.
public class A {
private B myB = new B();
private String myUnformattedName = "some information";
private String myUnformattedNameOne = "some information";
private String myUnformattedNameTwo = "some information";
private String myUnformattedNameThree = "some information";
private String myUnformattedNameFour = "some information";
private String myUnformattedNameFive = "some information";
private String myUnformattedNameSix = "some information";
public String getFormattedInfo() {
//pass the object itself and use get methods
return myB.formatInfo(this);
}
public String getFormattedInfoLong() {
//this is OK but gets difficult to read the longer the
//parameter list gets
return myB.formatInfo(myUnformattedName, myUnformattedNameOne,
myUnformattedTwo, myUnformattedNameThree, myUnformattedNameFour,
myUnformattedNameFive, myUnformattedNameSix);
}
//getters
public String getUnformattedName() {
return myUnformattedName;
}
public String getUnformattedNameOne() {
return myUnformattedNameOne;
}
//etc
}