Best Practice Wie setze ich Suchparameter am besten?

DStrohma

Bekanntes Mitglied
Ich möchte eine DB-Suche durchführen. Dazu rufe ich eine Methode auf die ein Objekt als Parameter empfängt das vom Typ "CeSearch" ist. Die Methode schaut sich dann die Parameter von CeSearch an und startet die Suche.
Code:
    public class CeSearch {
        private String text;
        private String category;
        private CeSearchScope scope;

        public CeSearch(String text, String category, CeSearchScope scope) {
            setText(text);
            setCategory(category);
            setScope(scope);
        }

        public String getText() {
            return text;
        }

        public void setText(String text) {
            this.text = text;
        }

        public String getCategory() {
            return category;
        }

        public void setCategory(String category) {
            this.category = category;
        }

        public CeSearchScope getScope() {
            return scope;
        }

        public void setScope(CeSearchScope scope) {
            this.scope = scope;
        }
    }

Code:
    public enum CeSearchScope {
        ALL, TAGS, CONTENT, TITLE, CATEGORY;
    }

Wenn ich nur eine bestimmte Kategorie durchsuchen will, ist es derzeit notwendig dass ich "CeSearchScope.CATEGORY" übergebe und zusätzlich den Namen der Kategorie (Parameter "category").

Leider ist es möglich hier Fehler zu machen, wie z.B. die Kategorie nicht anzugeben oder aber die Kategorie anzugeben und dann nicht den richtigen Scope einzustellen, was dann dazu führt dass die Kategorie ignoriert wird usw.
Alles irgendwie unsauber! Ich würde gerne die Kategorie nur übergeben müssen wenn es sich um den entsprechenden Scope handelt. Weil in jedem anderen Fall ist der Parameter "category" überflüssig.
Wie könnte ich das strukturtechnisch lösen? Ich hoffe ich konnte das Problem einigermaßen verständlich schildern ^^

Grüße,
DS
 

turtle

Top Contributor
Wenn ich nur eine bestimmte Kategorie durchsuchen will, ist es derzeit notwendig dass ich "CeSearchScope.CATEGORY" übergebe und zusätzlich den Namen der Kategorie (Parameter "category").

Hört sich für mich an, als ob du zwei (oder mehrere) Suchklassen benötigst. Zumindest in einer Klasse ist der Kategory-Parameter notwendig, in der anderen nicht.

Wenn du aber per "Restprogramm" irgendwie suchen möchtest, kannst du ja ein Interface basteln mit der Methode suchen(). Beide Klassen implementieren dieses Interface.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S TextFieldFilter - Wenn Textfeld leer dann setze 0 Java Basics - Anfänger-Themen 9
Y Wie setze ich genau eine Stückliste (UML) in Java um? Java Basics - Anfänger-Themen 9
Bierhumpen compareTo. Wie setze ich es ein Java Basics - Anfänger-Themen 11
D Datentypen Wie am Besten abspeichern Java Basics - Anfänger-Themen 1
S Wie debugge ich dies am besten: SingleThreadExecutor führt Task nicht aus..? Java Basics - Anfänger-Themen 29
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
Salvatore321 Wie kann ich dieses Zustandsdiagramm am besten Umsetzen? Java Basics - Anfänger-Themen 5
dieter000 Hilfe bei dem Beispiel, wie gehe ich sowas am besten an? Java Basics - Anfänger-Themen 32
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
I Wo am besten eine String Konstante initialisieren? Java Basics - Anfänger-Themen 5
A Wie sollte ich es am besten an gehen - denkweise Java Basics - Anfänger-Themen 48
E Erste Schritte Java Webeintwicklung (JSP/Servlet), wie am Besten einsteigen? Java Basics - Anfänger-Themen 0
V welche Methode am besten sich für JPG einfügung in Java anzugewöhnen ? Java Basics - Anfänger-Themen 4
I Grafische Benutzeroberflächen - welche Komponente nehme ich am besten? Java Basics - Anfänger-Themen 13
J Wie handle ich Threads am besten? Java Basics - Anfänger-Themen 2
H Wo speichert man am besten Daten? Appdata? Java Basics - Anfänger-Themen 14
B Datentypen Wie Daten am besten organisieren? Java Basics - Anfänger-Themen 7
M wie kann ich am besten die kleinste 2 elemente von einer Liste kriegen Java Basics - Anfänger-Themen 4
S Wie kann man am besten programmieren erlernen? Java Basics - Anfänger-Themen 32
P OOP Wie schreib ich dieses Programm am besten? Java Basics - Anfänger-Themen 6
B Wie lerne ich am besten? Java Basics - Anfänger-Themen 7
C Wie am besten die Verarbeitung der Eingabe verzögern ? Java Basics - Anfänger-Themen 5
C Wie Objekte am besten anklickbar machen ? Java Basics - Anfänger-Themen 9
H Wie lerne ich am Besten Java Java Basics - Anfänger-Themen 28
K OPP am besten verstehen !!! Java Basics - Anfänger-Themen 7
S Wie ereuge ich hier am besten eine Schleife Java Basics - Anfänger-Themen 12
D Logging sätmlicher Vorgänge, wie am besten realisieren? Java Basics - Anfänger-Themen 6
A wie lernt man am besten den code zu verstehen? Java Basics - Anfänger-Themen 7
G wo speichert man am besten eine Datei? Java Basics - Anfänger-Themen 4
A Welches GUI nutze ich am Besten? Java Basics - Anfänger-Themen 7
B mit was am besten speichern und abrufen?+ fenster in fenster Java Basics - Anfänger-Themen 4
G Massenersetzungen am besten auch mit replaceAll? Java Basics - Anfänger-Themen 3
F Anfänger - die besten Tipps Java Basics - Anfänger-Themen 3
G Wann am besten getSize() aufrufen? Java Basics - Anfänger-Themen 6
S Wie am besten JAVA lernen Java Basics - Anfänger-Themen 12
D Fehlerbehandlungen, wie am besten sinnvoll einsetzen? Java Basics - Anfänger-Themen 6
S schwieriger String für StringTokenizer, wie am Besten ? Java Basics - Anfänger-Themen 8
frau-u guter Stil - wie macht mans am Besten? Java Basics - Anfänger-Themen 8
A Wie fange ich am besten mit nem Programm an? Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben