merge from master
[fanfix.git] / library / WebLibraryUrls.java
CommitLineData
c91f1830
NR
1package be.nikiroo.fanfix.library;
2
3class WebLibraryUrls {
4 static public final String INDEX_URL = "/";
5
6 static public final String VERSION_URL = "/version";
7
8 static public final String LOGOUT_URL = "/logout";
9
10 static private final String VIEWER_URL_BASE = "/view/story/";
11 static private final String VIEWER_URL = VIEWER_URL_BASE
12 + "{luid}/{chap}/{para}";
13
14 static private final String STORY_URL_BASE = "/story/";
15 static private final String STORY_URL = STORY_URL_BASE
16 + "{luid}/{chap}/{para}";
17 static private final String STORY_URL_COVER = STORY_URL_BASE
18 + "{luid}/cover";
19 static private final String STORY_URL_JSON = STORY_URL_BASE + "{luid}/json";
4536c5cf
NR
20 static private final String STORY_URL_METADATA = STORY_URL_BASE
21 + "{luid}/metadata";
22
23 // GET/SET ("value" param -> set STA to this value)
24 static private final String STORY_URL_SOURCE = STORY_URL_BASE
25 + "{luid}/source";
26 static private final String STORY_URL_TITLE = STORY_URL_BASE
27 + "{luid}/title";
28 static private final String STORY_URL_AUTHOR = STORY_URL_BASE
29 + "{luid}/author";
c91f1830
NR
30
31 static private final String LIST_URL_BASE = "/list/";
32
33 static public final String LIST_URL_METADATA = LIST_URL_BASE + "metadata";
34
4536c5cf
NR
35 // "import" requires param "url" and return an luid, "/{luid}" return
36 // progress status as a JSON Progress or 404 if none (done or failed)
37 static private final String IMPRT_URL_BASE = "/import/";
38 static private final String IMPRT_URL_PROGRESS = IMPRT_URL_BASE + "{luid}";
39 static public final String IMPRT_URL_IMPORT = IMPRT_URL_BASE + "import";
40
159e970c
NR
41 static private final String DELETE_URL_BASE = "/delete/";
42 static private final String DELETE_URL_STORY = DELETE_URL_BASE + "{luid}";
43
4536c5cf
NR
44 // GET/SET ("luid" param -> set cover to the cover of this story -- not ok
45 // for /cover/story/)
46 static private final String COVER_URL_BASE = "/cover/";
47 static private final String COVER_URL_STORY = COVER_URL_BASE
48 + "story/{luid}";
49 static private final String COVER_URL_AUTHOR = COVER_URL_BASE
50 + "author/{author}";
51 static private final String COVER_URL_SOURCE = COVER_URL_BASE
52 + "source/{source}";
53
c91f1830
NR
54 static public String getViewUrl(String luid, Integer chap, Integer para) {
55 return VIEWER_URL //
56 .replace("{luid}", luid) //
57 .replace("/{chap}", chap == null ? "" : "/" + chap) //
58 .replace("/{para}",
59 (chap == null || para == null) ? "" : "/" + para);
60 }
61
62 static public String getStoryUrl(String luid, int chap, Integer para) {
63 return STORY_URL //
64 .replace("{luid}", luid) //
65 .replace("{chap}", Integer.toString(chap)) //
66 .replace("{para}", para == null ? "" : Integer.toString(para));
67 }
68
69 static public String getStoryUrlCover(String luid) {
70 return STORY_URL_COVER //
71 .replace("{luid}", luid);
72 }
73
74 static public String getStoryUrlJson(String luid) {
75 return STORY_URL_JSON //
76 .replace("{luid}", luid);
77 }
78
4536c5cf
NR
79 static public String getStoryUrlSource(String luid) {
80 return STORY_URL_SOURCE //
81 .replace("{luid}", luid);
82 }
83
84 static public String getStoryUrlTitle(String luid) {
85 return STORY_URL_TITLE//
86 .replace("{luid}", luid);
87 }
88
89 static public String getStoryUrlAuthor(String luid) {
90 return STORY_URL_AUTHOR //
91 .replace("{luid}", luid);
92 }
93
94 static public String getStoryUrlMetadata(String luid) {
95 return STORY_URL_METADATA //
96 .replace("{luid}", luid);
97 }
98
99 static public String getImprtProgressUrl(String luid) {
100 return IMPRT_URL_PROGRESS //
101 .replace("{luid}", luid);
102 }
103
c91f1830
NR
104 static public boolean isSupportedUrl(String url) {
105 return INDEX_URL.equals(url) || VERSION_URL.equals(url)
106 || LOGOUT_URL.equals(url) || isViewUrl(url) || isStoryUrl(url)
4536c5cf
NR
107 || isListUrl(url) || isCoverUrl(url) || isImprtUrl(url);
108 }
109
110 static public String getCoverUrlStory(String luid) {
111 return COVER_URL_STORY //
112 .replace("{luid}", luid);
113 }
114
115 static public String getCoverUrlSource(String source) {
116 return COVER_URL_SOURCE //
117 .replace("{source}", source);
118 }
119
120 static public String getCoverUrlAuthor(String author) {
121 return COVER_URL_AUTHOR //
122 .replace("{author}", author);
c91f1830
NR
123 }
124
159e970c
NR
125 static public String getDeleteUrlStory(String luid) {
126 return DELETE_URL_STORY //
127 .replace("{luid}", luid);
128 }
129
c91f1830
NR
130 static public boolean isViewUrl(String url) {
131 return url != null && url.startsWith(VIEWER_URL_BASE);
132 }
133
134 static public boolean isStoryUrl(String url) {
135 return url != null && url.startsWith(STORY_URL_BASE);
136 }
137
138 static public boolean isListUrl(String url) {
139 return url != null && url.startsWith(LIST_URL_BASE);
140 }
4536c5cf
NR
141
142 static public boolean isCoverUrl(String url) {
143 return url != null && url.startsWith(COVER_URL_BASE);
144 }
145
146 static public boolean isImprtUrl(String url) {
147 return url != null && url.startsWith(IMPRT_URL_BASE);
148 }
159e970c
NR
149
150 static public boolean isDeleteUrl(String url) {
151 return url != null && url.startsWith(DELETE_URL_BASE);
152 }
c91f1830 153}