From 8cf8493e4b918cece529fef978d50c8b9835d230 Mon Sep 17 00:00:00 2001
From: ulrich <undisclosed>
Date: Sun, 19 Mar 2023 16:26:07 +0000
Subject: [PATCH] Erweiterungen zu chrisltich-orthodoxen Ereignissen (tlw. noch weiter in Arbeit)
---
src/de/uhilger/zeitrechnung/ereignis/JulianischesEreignis.java | 50 +++++++++++++++++++++++++
src/de/uhilger/zeitrechnung/ereignis/TagDatumEreignis.java | 14 ++++++-
src/de/uhilger/zeitrechnung/ereignis/Ereignis.java | 3 +
src/de/uhilger/zeitrechnung/ereignis/MuslimischesEreignis.java | 2
src/de/uhilger/zeitrechnung/Definition.java | 9 ++++
5 files changed, 75 insertions(+), 3 deletions(-)
diff --git a/src/de/uhilger/zeitrechnung/Definition.java b/src/de/uhilger/zeitrechnung/Definition.java
index a55fb08..90fde2b 100644
--- a/src/de/uhilger/zeitrechnung/Definition.java
+++ b/src/de/uhilger/zeitrechnung/Definition.java
@@ -63,6 +63,7 @@
private long p2;
private long p3;
private long p4;
+ private long p5;
public String getName() {
return name;
@@ -111,4 +112,12 @@
public void setp4(long p4) {
this.p4 = p4;
}
+
+ public long getp5() {
+ return p5;
+ }
+
+ public void setp5(long p5) {
+ this.p5 = p5;
+ }
}
diff --git a/src/de/uhilger/zeitrechnung/ereignis/Ereignis.java b/src/de/uhilger/zeitrechnung/ereignis/Ereignis.java
index b2499d8..38ce2ee 100644
--- a/src/de/uhilger/zeitrechnung/ereignis/Ereignis.java
+++ b/src/de/uhilger/zeitrechnung/ereignis/Ereignis.java
@@ -57,6 +57,9 @@
/** Typnummer fuer MuslimischesEreignis */
public static final int TYP_MUSLIMISCH = 8;
+ /** Typnummer fuer JulianischesEreignis */
+ public static final int TYP_JULIANISCH = 9;
+
/**
* Den Typ des Ereignisses ermitteln
*
diff --git a/src/de/uhilger/zeitrechnung/ereignis/JulianischesEreignis.java b/src/de/uhilger/zeitrechnung/ereignis/JulianischesEreignis.java
new file mode 100644
index 0000000..245a221
--- /dev/null
+++ b/src/de/uhilger/zeitrechnung/ereignis/JulianischesEreignis.java
@@ -0,0 +1,50 @@
+package de.uhilger.zeitrechnung.ereignis;
+
+import de.uhilger.zeitrechnung.Datum;
+import de.uhilger.zeitrechnung.kalender.ISOKalender;
+import de.uhilger.zeitrechnung.kalender.JulianischerKalender;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Bestimmung der Zeitpunkte von Ereignissen im julianischen Kalendersystem
+ *
+ * <p>
+ * Die Ereignis-Definition lautet:<br>
+ * JulianischesEreignis.getDefinition.setp1(Monat des julianischen Kalenders);<br>
+ * JulianischesEreignis.getDefinition.setp2(Tag im Monat des julianischen Kalenders);<br>
+ *
+ * @author Ulrich Hilger
+ */
+public class JulianischesEreignis extends EreignisBasis {
+
+ /**
+ * Den Typ des Ereignisses ermitteln
+ *
+ * @return Ereignis.TYP_JULIANISCH
+ */
+ @Override
+ public int getTyp() {
+ return TYP_JULIANISCH;
+ }
+
+ /**
+ * Die Tage eines Jahres im gregorianischen Kalendersystem
+ * ermitteln, an denen das Ereignis stattfindet.
+ *
+ * @param isoJahr das Jahr im gregorianischen Kalender,
+ * fuer das ermittelt werden soll, an welchen Tagen das Ereignis stattfindet
+ * @return die Liste aus Datum-Objekten, die die Tage im gregorianischen
+ * Kalender bezeichnet, an denen das Ereignis stattfindet
+ */
+ @Override
+ public List<Datum> getZeitpunkte(long isoJahr) {
+ Datum jDatum = new Datum(isoJahr, (int) definition.getp1(), (int) definition.getp2());
+ JulianischerKalender j = new JulianischerKalender();
+ long tage = j.zuTagen(jDatum);
+ ISOKalender g = new ISOKalender();
+ ArrayList list = new ArrayList();
+ list.add(g.vonTagen(tage));
+ return list;
+ }
+}
\ No newline at end of file
diff --git a/src/de/uhilger/zeitrechnung/ereignis/MuslimischesEreignis.java b/src/de/uhilger/zeitrechnung/ereignis/MuslimischesEreignis.java
index 87a49f7..61cdd51 100644
--- a/src/de/uhilger/zeitrechnung/ereignis/MuslimischesEreignis.java
+++ b/src/de/uhilger/zeitrechnung/ereignis/MuslimischesEreignis.java
@@ -54,7 +54,7 @@
* @param isoJahr das Jahr im gregorianischen Kalender,
* fuer das ermittelt werden soll, an welchen Tagen das Ereignis stattfindet
* @return die Liste aus Datum-Objekten, die die Tage im gregorianischen
- * Kalender bezeichnet, an denen das Ereignis stattfinden
+ * Kalender bezeichnet, an denen das Ereignis stattfindet
*/
@Override
public List<Datum> getZeitpunkte(long isoJahr) {
diff --git a/src/de/uhilger/zeitrechnung/ereignis/TagDatumEreignis.java b/src/de/uhilger/zeitrechnung/ereignis/TagDatumEreignis.java
index d9468e7..b7a2a6a 100644
--- a/src/de/uhilger/zeitrechnung/ereignis/TagDatumEreignis.java
+++ b/src/de/uhilger/zeitrechnung/ereignis/TagDatumEreignis.java
@@ -19,7 +19,10 @@
import de.uhilger.zeitrechnung.Datum;
import de.uhilger.zeitrechnung.Definition;
+import de.uhilger.zeitrechnung.kalender.BasisKalender;
import de.uhilger.zeitrechnung.kalender.ISOKalender;
+import de.uhilger.zeitrechnung.kalender.JulianischerKalender;
+import de.uhilger.zeitrechnung.kalender.Wandler;
import java.util.ArrayList;
import java.util.List;
@@ -37,6 +40,7 @@
* p2 Monat (1=Januar .. 12=Dezember)<br>
* p3 Tag <br>
* p4 Wochentag vor (-) oder nach (+), z.B. -5 fuer fuenfter wie in 'fuenfter Freitag vor' <br>
+ * p5 Kalendersystem 1 gregorianisch (Standardvorbelegung), 2 julianisch <br>
* </p>
* @author Ulrich Hilger
*/
@@ -73,9 +77,15 @@
Definition def = getDefinition();
long monat = def.getp2();
long tag = def.getp3();
- ISOKalender w = new ISOKalender();
+ long kalender = def.getp5();
+ Wandler w;
+ if(1 == kalender) {
+ w = new ISOKalender();
+ } else {
+ w = new JulianischerKalender();
+ }
long basisDatum = w.zuTagen(isoJahr, (int) monat, (int) tag);
- long generischesDatum = w.nterTag((int) def.getp4(), (int) def.getp1(), basisDatum);
+ long generischesDatum = ((BasisKalender) w).nterTag((int) def.getp4(), (int) def.getp1(), basisDatum);
Datum d = w.vonTagen(generischesDatum);
//Datum d = w.getDatum();
ArrayList list = new ArrayList();
--
Gitblit v1.9.3