reflection

Status
Nicht offen für weitere Antworten.
S

sonntag

Gast
Hi,

ich hätte eine Frage. Und zwar ist es möglich per Reflection eine Klasse vom selben Typ mit dem Attribut Name und einer variablen Anzahl an Attributen zu erzeugen?
Beispiel:
Also sagen wir mal ich definiere diesen Klassentypen als Klasse R. Alle Objekte der Klasse R verfügen über das Attribut Name und eine variable Anzahl an Attributen. Also das erste Objekt der Klasse R verfügt über die Attribute Name, Nachname,Stadt während ein anderes Objekt über die Attribute Name und Montag verfügt.
Ich habe folgenden Link gefunden java.sun.com/docs/books/tutorial/reflect/object/arg.html
aber der bringt mich nicht sonderlich weiter. Denn anscheinend muß der Konstruktor im Vorfeld für diese anzahl an Argumenten vorhanden sein, aber das ist eben nicht das was ich brauche.
Wichtig: Attibute über HashMaps oder ähnliches zu simulieren bringt mir nichts, da jch auf diese per Reflection zugreifen möchte.

Bin für jeden Tipp dankbar!

Gruß
 
S

sonntag

Gast
Hi,

danke für den Tipp. Das Programm soll vom Nutzer konfiguriert werden können, ohne in den Quellcode eingreifen zu müssen. Daher scheidet Vererbung aus. Außerdem habe ich Vorgaben bekommen == UML an die ich mich halten muß.

Danke und schlaf gut

Gruß
 

HoaX

Top Contributor
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Class.html#getConstructor(java.lang.Class[]) ?!
 
S

sonntag

Gast
leider nicht. das funktioniert nur für schon vordefinierte konstruktoren. das ist wie in meinem link : das beispiel Rectangle besitzt mehrere Konstruktoren und für die kann man getConstructor() anwenden. Meine Frage bezieht sich -und ich vermutete sie ist negativ - darauf ob es möglich ist per Reflection mit beliebiegen Attributen eine Klasse zu erzeugen, ohne alle möglichen Konstruktoren zu definieren.

Danke
 
R

Roar

Gast
darf man denn fragen wie du die attribute speicherst? denn offensichtlich ja nicht als normale instanzvariablen sonst hättest du ja kein problem ???:L aber als Map willst du sie auch nich haben - weil du warum überhaupt nur mit reflection auf sie zugreifen willst :?:
 
S

sonntag

Gast
Hi,

also ich muß nach einer UML programmieren, da ist man halt eingeschränkt. Ich würde des auch sonst anders machen.
Vereinfachen wir die Frage:
Ich möchte Objekte einer Basisklasse mit dem Attribut Name erzeugen. Diesen Attributen möchte ich mittels Reflection dynmaisch beliebig viele (1..n) Attribute zuordnen können. Ist es möglich?

Mit dem Beispiel aus meinem ersten Posting ist es möglich wenn es zu der Basisklasse alle möglichen Konstruktoren gibt, also mit 1-n Attributen. Aber das will ich nicht haben. Ich möchte den Konstruktor modifizieren können. Ist es möglich oder nein?

Gruß

danke
 
S

sonntag

Gast
diesen objekten möchte ich beliebig viele attribute zuordnen können, sollte des heißen.
 
R

Roar

Gast
> diesen objekten möchte ich beliebig viele attribute zuordnen können
sind die attribute denn vorhanden = als variablen im code deklariert? wenn nein hilft eh alles nix :roll:

> Ich möchte den Konstruktor modifizieren können. Ist es möglich oder nein?
nein

warum verwendest du keine set-methoden oder änderst das feld direkt, oder benutzt einfach die java.beans api
versteh nur noch immer nich was das ganze werden soll ???:L
 
S

sonntag

Gast
werde mir das mit den beans anschauen. danke


sind die attribute denn vorhanden = als variablen im code deklariert? wenn nein hilft eh alles nix
in nem configurationsfile bzw klasse, soll später halt mit xml laufen.

Code:
private ReaderStrategy ConfigureServiceCall() 
		{
			
	                 result.addFieldExtractor(4, 18, "CustomerName");
				result.addFieldExtractor(19, 23, "CustomerID");
				result.addFieldExtractor(24, 27, "CallTypeCode");
				result.addFieldExtractor(28, 35, "DateOfCallString");
	    	
	    	
	      return result;
	    }
	    
	    private ReaderStrategy ConfigureUsage()
	    {
	      
	    	ReaderStrategy result=null;
	    	
	    	  result = new ReaderStrategy("USGE");
	    	  result.addFieldExtractor(4, 8, "CustomerID");
	    	  result.addFieldExtractor(9, 22, "CustomerName");
	    	  result.addFieldExtractor(30, 30, "Cycle");
	    	  result.addFieldExtractor(31, 36, "ReadDate");
	      
	      return result;
	    }


Die Oberklasse ist halt ReaderStrategy. So die Objekte sollen verschiedene Felder haben, die Namen sind in den result.addFieldExtractor()-Methoden. Diese Daten stehen später in XML-Dateien. Und es geht leider nicht den Konstruktor immer neu zu definieren mit den Variablennamen und Typen.?! Schade. Die Werte sollen per Reflection später gesetzt werden. Ich schaue mir das mit den Beans an.
Danke
[/code]
 

Ariol

Top Contributor
du könntest alles auch in einer Matrix oder Liste speichern:

[BEZEICHNUNG] [WERT]
Name Müller
Automarke VW
Auftr.nummer 111-222-333
 
S

sonntag

Gast
ja könnte ich, aber wollte das anders lösen. also entweder nehme ich ne collection oder ne skriptsprache, die es erlaubt neue attribute an klassen zuzuweisen.

Gruß

Danke
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Reflection gone wrong? Allgemeine Java-Themen 21
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
J Reflection Aufruf: .class durch .dll ersetzen Allgemeine Java-Themen 4
T Reflection - Abprüfen von Klasseneigenschaften Allgemeine Java-Themen 3
perlenfischer1984 Reflection : Element in generische Liste hinzufügen Allgemeine Java-Themen 4
J Reflection-Method Hook? Allgemeine Java-Themen 14
J Reflection mit Klasse und Subklasse Allgemeine Java-Themen 11
X public Getter ersetzen (Reflection?!) Allgemeine Java-Themen 3
A Reflection Problem Allgemeine Java-Themen 15
K Generic class und Reflection Allgemeine Java-Themen 2
G SecurityManager/Policy-File/Reflection Allgemeine Java-Themen 0
N Per Reflection auf (method) local inner class zugreifen? Allgemeine Java-Themen 3
E Reflection? Frage Allgemeine Java-Themen 4
B Reflection, invoke dynamisch befüllen Allgemeine Java-Themen 3
T Reflection Allgemeine Java-Themen 11
G Klassen Cast auf Argumentenklasse via Reflection? Allgemeine Java-Themen 10
H Collections Generics und Reflection Allgemeine Java-Themen 6
TheWhiteShadow Reflection-Lösung für Objektkopien Allgemeine Java-Themen 3
B Reflection: getMethods schlägt fehl (NoClassDefFoundE)) Allgemeine Java-Themen 15
P Reflection "Cast" Allgemeine Java-Themen 5
D Reflection-Performance Allgemeine Java-Themen 7
S Reflection und Generic Allgemeine Java-Themen 9
W Reflection -> getMethod bei optionalen Parametern Allgemeine Java-Themen 4
Kr0e Reflection - Instanz einer Klasse erstellen, ohne Default-Constructor Allgemeine Java-Themen 15
C Probleme mit dem Zugriff auf private Methode per reflection Allgemeine Java-Themen 2
C Zugriff auf private Methode per reflection geht nicht mehr Allgemeine Java-Themen 3
M Probleme mit Reflection Allgemeine Java-Themen 10
A Reflection Konstruktor Parameter Supertyp Allgemeine Java-Themen 2
D Vererbung, Reflection und automatischer Methodenaufruf Allgemeine Java-Themen 24
G Java Reflection Allgemeine Java-Themen 11
N Reflection: NoSuchMethodException obwohl Methode existiert Allgemeine Java-Themen 2
brunothg Problem mit Reflection Allgemeine Java-Themen 6
M reflection in inner classes Allgemeine Java-Themen 7
T Class-files zur Laufzeit zu Reflection-Zwecken laden Allgemeine Java-Themen 18
V Reflection - Field-Instanz und Annotations Allgemeine Java-Themen 6
Y Reflection und "extends" Schlüsselwort Allgemeine Java-Themen 3
R Reflection Problem Allgemeine Java-Themen 4
N getName() of reflection Object Allgemeine Java-Themen 4
P Reflection - Wie rufe ich die Felder einer Klasse in einer Methode der Basisklasse? Allgemeine Java-Themen 4
M Reflection Queue auslesen Allgemeine Java-Themen 6
N generic reflection Allgemeine Java-Themen 5
megachucky Java Reflection -> versteckte Felder finden? Allgemeine Java-Themen 3
MQue Reflection Exception Allgemeine Java-Themen 11
R Problem mit Reflection und Generics Allgemeine Java-Themen 3
ruutaiokwu Per Reflection membervariablen überschreiben / zuweisen / nullen Allgemeine Java-Themen 5
T Zugriff per Reflection o.ä. möglich? Allgemeine Java-Themen 18
R Reflection: Membervariablen-Initialwerte Allgemeine Java-Themen 4
G Reflection Allgemeine Java-Themen 6
V reflection in java 5 und 6 Allgemeine Java-Themen 2
C Reflection Übergabeparamter überprüfen? Allgemeine Java-Themen 3
Ark Konstruktor per Reflection nicht bekannt Allgemeine Java-Themen 4
Q Objekte durch Reflection erzeugen Allgemeine Java-Themen 18
G [Reflection + WebService] Methodenaufruf an einem Proxy Allgemeine Java-Themen 11
T Parameternamen mit Reflection-API Allgemeine Java-Themen 14
M reflection mit parametern Allgemeine Java-Themen 8
M Reflection Frage Allgemeine Java-Themen 7
G Code vereinfachen bei Reflection Allgemeine Java-Themen 4
I reflection get inner static classes Allgemeine Java-Themen 2
C Reflection Allgemeine Java-Themen 12
Y Reflection - wie kann ich eine Methode benutzen Allgemeine Java-Themen 4
Y Reflection - wie anwenden/benutzen bei folgendem Problem Allgemeine Java-Themen 3
P Java Reflection API - ResultDataModel ? Allgemeine Java-Themen 3
R Object Dynamisch erzeugen (Reflection API) Allgemeine Java-Themen 22
N Design-Frage: persistent machen per Reflection Allgemeine Java-Themen 3
G Reflection: aktuelle bzw umschliessende Methode? Allgemeine Java-Themen 7
G per Reflection auf private Klassenattribute zugreifen? Allgemeine Java-Themen 9
G Reflection objekt mit generics erzeugen Allgemeine Java-Themen 5
M per reflection private attributsnamen auslesen Allgemeine Java-Themen 3
G Interface - Klassen implementieren das - Reflection ok? Allgemeine Java-Themen 4
C Reflection Problem! Allgemeine Java-Themen 2
G Object cast via Reflection Allgemeine Java-Themen 8
T Reflection und Typsicherheit Allgemeine Java-Themen 5
Q Umgang mit Reflection Allgemeine Java-Themen 4
X Reflection performant? Allgemeine Java-Themen 11
M Reflection und Serializable Allgemeine Java-Themen 5
A Reflection - Variablen innerhalb einer Methode ermitteln Allgemeine Java-Themen 9
F Performance von Reflection vs Statisches Coden Allgemeine Java-Themen 4
the[V]oid Primitive Arrays per Reflection erzeugen? Allgemeine Java-Themen 2
W Package via Reflection parsen Allgemeine Java-Themen 4
R Interface mittels Reflection implementieren Allgemeine Java-Themen 8
M reflection Integer != int ? Allgemeine Java-Themen 3
M reflection invoce Allgemeine Java-Themen 3
K Reflection:Zugriff auf innere Klassen Allgemeine Java-Themen 4
N NoSuchMethodException bei Reflection-Versuch, aber warum? Allgemeine Java-Themen 3
byte Methodenaufruf per Reflection? Allgemeine Java-Themen 2
M Generics und Reflection Allgemeine Java-Themen 3
M Array per Reflection manipulieren Allgemeine Java-Themen 5
M Klassen von ausserhalb des Jars per Reflection nachladen Allgemeine Java-Themen 2
thE_29 Reflection Allgemeine Java-Themen 6
M statische Methode per reflection aufrufen Allgemeine Java-Themen 2
B Frage zu Reflection Allgemeine Java-Themen 3
V Reflection - Problem Allgemeine Java-Themen 3
clemson Reflection Interface Allgemeine Java-Themen 4
G mit reflection an die felder einer klasse rankommen Allgemeine Java-Themen 4
N Reflection: An Package einer .class-Datei kommen Allgemeine Java-Themen 2
N Reflection: Feststellen ob eine Klasse abstract ist Allgemeine Java-Themen 3
B Reflection Allgemeine Java-Themen 10
C Reflection und variable casten ! Allgemeine Java-Themen 10
C Reflection - Kurze Beschreibung? Allgemeine Java-Themen 3
F Frage zum Thema Reflection Allgemeine Java-Themen 13

Ähnliche Java Themen

Neue Themen


Oben