Gibt es eine Möglichkeit, ein Java -Objekt zu einem Superklassenobjekt zu klonen?Java

Java-Forum
Anonymous
 Gibt es eine Möglichkeit, ein Java -Objekt zu einem Superklassenobjekt zu klonen?

Post by Anonymous »

Ich habe eine JSF -Anwendung mit einem Einstellungen , das früher @Applicationscoped war, wird jedoch in @SessionsCoped geändert, da die Anwendung erweitert wird, um Benutzer zu unterstützen, die unterschiedliche Einstellungen Werte benötigen. Ein Objekt einer Superklasse von Einstellungen wird nach einer Methode benötigt, die in einem Thread ausgeführt wird. Wenn die Einstellungen @applicationscoped war, funktionierte es gut, einfach ein (das) Einstellungen an die Thread-Run-Methode zu übergeben, da es sich um einen Singleton handelte. Das funktioniert jedoch nicht mehr, da der Thread außerhalb des Kontextes einer Sitzung ausgeführt wird. Ich möchte eine Instanz einer Superklasse von Einstellungen erstellen, die ein Klon von Einstellungen ist, sofern die von dieser Superklasse definierten Methoden und Datenelemente definiert sind. Ich weiß jedoch nicht, dass Clone () (oder der native Code dahinter) auf diese Weise verwendet werden kann. (Ich brauche nur eine flache Kopie.) Was ich in (etwas) Pseudocode tun möchte, ist Folgendes: < /p>

Code: Select all

public class SettingsBase
{
int dataMember1;
...
}

@SessionScoped
public class Settings extends SettingsBase implements Serializable
{
int appDataMember1;
}

Settings settings = new Settings();
SettingsBase baseSettings = (SettingsBase)settings.clone(  );
assert !(baseSettings instanceof Settings);
Wenn ich dies nicht tun kann, muss ich eine Methode zu Einstellungsbasis hinzufügen, die alle (30+) Datenmitglieder zu einer neuen Instanz der Klasse kopiert, die ich im Folgenden erhofft hatte:

Code: Select all

public static SettingsBase cloneFrom( SettingsBase settings )
{
SettingsBase newSettings = new SettingsBase();
newSettings.dataMember1 = settings.dataMember1;
newSettings.dataMember2 = settings.dataMember2;
...
return( newSettings );
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post