Klassenbiliothek fuer Dateiverwaltung
ulrich
15 hours ago 1be785f6df00e3f36c00b58a2d0c623733c74621
commit | author | age
e369b9 1 /*
U 2   fm - File management class library
3   Copyright (C) 2024  Ulrich Hilger
4
5   This program is free software: you can redistribute it and/or modify
6   it under the terms of the GNU Affero General Public License as
7   published by the Free Software Foundation, either version 3 of the
8   License, or (at your option) any later version.
9
10   This program is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU Affero General Public License for more details.
14
15   You should have received a copy of the GNU Affero General Public License
16   along with this program.  If not, see <https://www.gnu.org/licenses/>.
17  */
18 package de.uhilger.fm;
19
20 /**
02c8f8 21  * Einfache Transportklasse fuer eine Datei-Referenz
e369b9 22  * 
U 23  * @author Ulrich Hilger
24  * @version 1, 11. Mai 2021
25  */
8bde6f 26 public class FileRef {
e369b9 27   
U 28   public static final String TYP_DATEI = "datei";
29   public static final String TYP_ORDNER = "ordner";
30   
31   public static final String TK_DATEI = "icon-doc-inv";
32   public static final String TK_ORDNER = "icon-folder";
33   
34   /*
35   
36   Ergaenzt um Garfiken mit Data-URI
37   https://wiki.selfhtml.org/wiki/Grafik/Grafiken_mit_Data-URI
38   
39   src="data:image/gif;base64,R0lGODdhEAAQAMwAAPj7+FmhUYjNfGuxYY
40     DJdYTIeanOpT+DOTuANXi/bGOrWj6CONzv2sPjv2CmV1unU4zPgISg6DJnJ3ImTh8Mtbs00aNP1CZSGy0YqLEn47RgXW8amasW
41     7XWsmmvX2iuXiwAAAAAEAAQAAAFVyAgjmRpnihqGCkpDQPbGkNUOFk6DZqgHCNGg2T4QAQBoIiRSAwBE4VA4FACKgkB5NGReAS
42     FZEmxsQ0whPDi9BiACYQAInXhwOUtgCUQoORFCGt/g4QAIQA7"
43   
44     Schema
45     data:[<mime type>][;charset=<Zeichensatz>][;base64],<Daten>
46   
47   */
48   
49   private String name;
50   //private String pfad;
51   private String typ;
52   private String typKlasse;
53   private boolean bild = false;
54   private String miniurl;
55   private String imgsrc;
56
02c8f8 57   /**
U 58    * Den Ausdruck fuer <code>imgsrc</code> ermitteln,
59    * wenn es sich bei der Datei um eine Bilddatei handelt
60    * 
61    * @return den imgsrc-Ausdruck
62    */
e369b9 63   public String getImgSrc() {
U 64     return imgsrc;
65   }
66
02c8f8 67   /**
U 68    * Den Ausdruck fuer <code>imgsrc</code> angeben,
69    * wenn es sich bei der Datei um eine Bilddatei handelt
70    * 
71    * @param imgSrc  der imgsrc-Ausdruck
72    */
e369b9 73   public void setImgSrc(String imgSrc) {
U 74     this.imgsrc = imgSrc;
75   }
76
02c8f8 77   /**
U 78    * Den URL der Miniaturansicht ermitteln, 
79    * wenn es sich bei der Datei um eine Bilddatei handelt
80    * 
81    * @return URL der Miniaturansicht
82    */
e369b9 83   public String getMiniurl() {
U 84     return miniurl;
85   }
86
02c8f8 87   /**
U 88    * Den URL der Miniaturansicht setzen, 
89    * wenn es sich bei der Datei um eine Bilddatei handelt
90    * 
91    * @param miniurl URL der Miniaturansicht
92    */
e369b9 93   public void setMiniurl(String miniurl) {
U 94     this.miniurl = miniurl;
95   }
96
02c8f8 97   /**
U 98    * Die CSS-Typ-Klasse fuer diese Datei ermitteln
99    * 
100    * @return  die CSS-Typ-Klasse dieser Datei
101    */
e369b9 102   public String getTypKlasse() {
U 103     return typKlasse;
104   }
105
02c8f8 106   /**
U 107    * Die CSS-Typ-Klasse fuer diese Datei setzen
108    * 
109    * @param typKlasse die CSS-Typ-Klasse dieser Datei
110    */
e369b9 111   public void setTypKlasse(String typKlasse) {
U 112     this.typKlasse = typKlasse;
113   }
114
02c8f8 115   /**
U 116    * Den Namen dieser Datei ermitteln
117    * 
118    * @return Name dieser Datei 
119    */
e369b9 120   public String getName() {
U 121     return name;
122   }
123
02c8f8 124   /**
U 125    * Den Namen dieser Datei setzen
126    * 
127    * @param name Name dieser Datei 
128    */
e369b9 129   public void setName(String name) {
U 130     this.name = name;
131   }
132
02c8f8 133   /**
U 134    * Den Typ dieser Datei ermitteln
135    * 
136    * @return 'datei' oder 'ordner' 
137    */
e369b9 138   public String getTyp() {
U 139     return typ;
140   }
141
02c8f8 142   /**
U 143    * Den Typ dieser Datei setzen
144    * 
145    * @param typ 'datei' oder 'ordner' 
146    */
e369b9 147   public void setTyp(String typ) {
U 148     this.typ = typ;
149     switch(typ) {
150       case TYP_DATEI:
151         setTypKlasse(TK_DATEI);
152         break;
153       case TYP_ORDNER:
154         setTypKlasse(TK_ORDNER);
155         break;
156       default:
157         setTypKlasse(TK_DATEI);
158         break;
159     }
160   }
161
02c8f8 162   /**
U 163    * Ermitteln, ob es sich bei dieser Datei um ein Bild handelt
164    * 
165    * @return true, wenn diese Datei ein Bild ist, false wenn nicht 
166    */
e369b9 167   public boolean isBild() {
U 168     return bild;
169   }
170
02c8f8 171   /**
U 172    * Den Bildindikator fuer diese Dateireferenz setzen
173    * 
174    * @param istBild true, wenn diese Datei ein Bild ist, false wenn nicht 
175    */
e369b9 176   public void setBild(boolean istBild) {
U 177     this.bild = istBild;
178   }
179
180   //public String getPfad() {
181   //  return pfad;
182   //}
183
184   //public void setPfad(String pfad) {
185   //  this.pfad = pfad;
186   //}
187   
188   
189   
190   
191 }