<parent>
<groupId>org.hedgecode.maven</groupId>
<artifactId>lib-parent</artifactId>
- <version>2</version>
+ <version>3</version>
<relativePath>../lib-parent/pom.xml</relativePath>
</parent>
</description>
<inceptionYear>2017</inceptionYear>
- <url>http://lib.hedgecode.org/${project.artifactId}/</url>
+ <url>https://lib.hedgecode.org/${project.artifactId}/</url>
+
+ <contributors>
+ <contributor>
+ <name>Hedgehog</name>
+ <organization>Hedgecode</organization>
+ <organizationUrl>https://hedgecode.org/</organizationUrl>
+ <roles>
+ <role>inspirer</role>
+ </roles>
+ <properties>
+ <picUrl>https://hedgecode.org/img/hedgehog50x50.png</picUrl>
+ </properties>
+ </contributor>
+ <contributor>
+ <name>Bundle</name>
+ <organization>Hedgecode</organization>
+ <organizationUrl>https://hedgecode.org/</organizationUrl>
+ <roles>
+ <role>data storage</role>
+ </roles>
+ <properties>
+ <picUrl>https://hedgecode.org/img/bundle50x50.png</picUrl>
+ </properties>
+ </contributor>
+ </contributors>
<scm>
<connection>scm:svn:http://svn.hedgecode.org/lib/${project.artifactId}/trunk/</connection>
<issueManagement>
<system>JIRA</system>
- <url>http://issues.hedgecode.org/browse/${issueKey}/component/${issueComponentId}</url>
+ <url>https://issues.hedgecode.org/browse/${issueKey}/component/${issueComponentId}</url>
</issueManagement>
<distributionManagement>
*/
public final class SnookerDateUtils {
+ private static SnookerDateUtils _instance;
+
public static final String DATE_PATTERN = "dd.MM.yyyy";
public static final String TIME_PATTERN = "HH:mm";
- public static final String DATETIME_PATTERN = TIME_PATTERN + " " + DATE_PATTERN;
-
- private static final TimeZone CTZ = TimeZone.getTimeZone("CET");
- private static final TimeZone LTZ = TimeZone.getDefault();
-
- private static final DateFormat DATE_FORMAT = new SimpleDateFormat(DATE_PATTERN);
- private static final DateFormat CET_TIME_FORMAT = new SimpleDateFormat(TIME_PATTERN);
- private static final DateFormat CET_DATETIME_FORMAT = new SimpleDateFormat(DATETIME_PATTERN);
- private static final DateFormat LOCAL_TIME_FORMAT = new SimpleDateFormat(TIME_PATTERN);
- private static final DateFormat LOCAL_DATETIME_FORMAT = new SimpleDateFormat(DATETIME_PATTERN);
-
- static {
- CET_TIME_FORMAT.setTimeZone(CTZ);
- CET_DATETIME_FORMAT.setTimeZone(CTZ);
- LOCAL_TIME_FORMAT.setTimeZone(LTZ);
- LOCAL_DATETIME_FORMAT.setTimeZone(LTZ);
+ public static final String DATETIME_PATTERN = String.format("%s %s", TIME_PATTERN , DATE_PATTERN);
+
+ private static final TimeZone SNOOKER_TIMEZONE = TimeZone.getTimeZone("CET");
+ private static final TimeZone LOCAL_TIMEZONE = TimeZone.getDefault();
+
+ private final DateFormat dateFormat;
+ private final DateFormat snookerTimeFormat;
+ private final DateFormat snookerDateTimeFormat;
+ private final DateFormat localTimeFormat;
+ private final DateFormat localDateTimeFormat;
+
+ private SnookerDateUtils() {
+ dateFormat = new SimpleDateFormat(DATE_PATTERN);
+
+ snookerTimeFormat = new SimpleDateFormat(TIME_PATTERN);
+ snookerTimeFormat.setTimeZone(SNOOKER_TIMEZONE);
+
+ snookerDateTimeFormat = new SimpleDateFormat(DATETIME_PATTERN);
+ snookerDateTimeFormat.setTimeZone(SNOOKER_TIMEZONE);
+
+ localTimeFormat = new SimpleDateFormat(TIME_PATTERN);
+ localTimeFormat.setTimeZone(LOCAL_TIMEZONE);
+
+ localDateTimeFormat = new SimpleDateFormat(DATETIME_PATTERN);
+ localDateTimeFormat.setTimeZone(LOCAL_TIMEZONE);
}
public static String formatDate(Date date) {
- return DATE_FORMAT.format(date);
+ return getInstance().format(date);
}
public static String formatTime(Date date) {
}
public static String formatTime(Date date, boolean withDate) {
- return withDate ? CET_DATETIME_FORMAT.format(date) : CET_TIME_FORMAT.format(date);
+ return getInstance().format(date, false, withDate);
}
public static String formatLocalTime(Date date) {
}
public static String formatLocalTime(Date date, boolean withDate) {
- return withDate ? LOCAL_DATETIME_FORMAT.format(date) : LOCAL_TIME_FORMAT.format(date);
+ return getInstance().format(date, true, withDate);
+ }
+
+ private String format(Date date) {
+ return dateFormat.format(date);
+ }
+
+ private String format(Date date, boolean isLocal, boolean withDate) {
+ return getDateFormat(isLocal, withDate).format(date);
+ }
+
+ private DateFormat getDateFormat(boolean isLocal, boolean withDate) {
+ if (isLocal) {
+ return withDate ? localDateTimeFormat : localTimeFormat;
+ }
+ return withDate ? snookerDateTimeFormat : snookerTimeFormat;
+ }
+
+ protected static SnookerDateUtils getInstance() {
+ if (_instance == null)
+ _instance = new SnookerDateUtils();
+ return _instance;
}
}
*/
public class PlayerImage implements Serializable {
+ private static final long serialVersionUID = -8500007961319779078L;
+
private URL url;
- private BufferedImage image;
+ private transient BufferedImage image;
public PlayerImage(URL imageUrl) {
url = imageUrl;
public static CacheSnookerScore getInstance() {
if (_instance == null)
- _instance= new CacheSnookerScore();
+ _instance = new CacheSnookerScore();
return _instance;
}
so for the functioning of applications that use this library Internet access is required.
The current version of the library:
- {{{http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar}${project.version}}}
+ {{{https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar}${project.version}}}
<<Note>>: <All versions of the library up to version 1.0 can not be considered completely stable.>
Portal {{{http://snooker.org/}Snooker.org}}
-[http://snooker.org/img/design/snookerorg_small.png] Snooker.org Logo
+[${project.url}images/snooker_org.png] Snooker.org Logo
поэтому для функционирования приложений, использующих данную библиотеку, необходим доступ в Интернет.
Текущая версия библиотеки:
- {{{http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar}${project.version}}}
+ {{{https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar}${project.version}}}
<<Примечание>>: <Все версии библиотеки до версии 1.0 не могут считаться полностью стабильными.>
Портал {{{http://snooker.org/}Snooker.org}}
-[http://snooker.org/img/design/snookerorg_small.png] Snooker.org Logo
+[${project.url}images/snooker_org.png] Snooker.org Logo
<subsection name="${project.name} ${project.version} Двоичный Формат">
<p>
Текущая стабильная версия ${project.name}:
- <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar">${project.artifactId}-${project.version}.jar</a>
- и её <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar.md5">MD5</a> сумма.
+ <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar">${project.artifactId}-${project.version}.jar</a>
+ и её <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar.md5">MD5</a> сумма.
</p>
</subsection>
<subsection name="Предыдущие Версии">
- <p>Старые release-версии ${project.artifactId} доступны на странице <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/">Hedgecode Release Repository</a>.</p>
- <p>Старые snapshot-версии ${project.artifactId} доступны на странице <a href="http://repo.hedgecode.org/content/repositories/snapshots/org/hedgecode/snooker/${project.artifactId}/">Hedgecode Snapshot Repository</a>.</p>
+ <p>Старые release-версии ${project.artifactId} доступны на странице <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/">Hedgecode Release Repository</a>.</p>
+ <p>Старые snapshot-версии ${project.artifactId} доступны на странице <a href="https://repo.hedgecode.org/content/repositories/snapshots/org/hedgecode/snooker/${project.artifactId}/">Hedgecode Snapshot Repository</a>.</p>
</subsection>
<subsection name="${project.name} ${project.version} Исходный Код">
<p>Архивы с javadoc и исходными кодами текущей версии библиотеки:
- <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-javadoc.jar">javadoc</a>,
- <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-sources.jar">sources</a>.
+ <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-javadoc.jar">javadoc</a>,
+ <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-sources.jar">sources</a>.
</p>
- <p>Исходный код ${project.artifactId} доступен в <a href="http://svn.hedgecode.org/lib/${project.artifactId}/trunk/">Hedgecode Subversion Repository</a>.</p>
- <p>Исходный код ${project.name} распространяется под лицензией <a href="http://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
+ <p>Исходный код ${project.artifactId} доступен в <a href="https://svn.hedgecode.org/lib/${project.artifactId}/trunk/">Hedgecode Subversion Repository</a>.</p>
+ <p>Исходный код ${project.name} распространяется под лицензией <a href="https://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
</subsection>
</section>
<item name="Introduction" href="index.html"/>
<item name="Usage" href="usage.html"/>
<item name="FAQ" href="faq.html"/>
- <item name="License" href="http://www.apache.org/licenses/"/>
+ <item name="License" href="https://www.apache.org/licenses/"/>
<item name="Download" href="download.html"/>
</menu>
<menu name="Examples">
<item name="Введение" href="index.html"/>
<item name="Использование" href="usage.html"/>
<item name="ЧаВо" href="faq.html"/>
- <item name="Лицензия" href="http://www.apache.org/licenses/"/>
+ <item name="Лицензия" href="https://www.apache.org/licenses/"/>
<item name="Скачать" href="download.html"/>
</menu>
<menu name="Примеры">
<subsection name="${project.name} ${project.version} Binary Format">
<p>
The current stable version of ${project.name}:
- <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar">${project.artifactId}-${project.version}.jar</a>
- and its <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar.md5">MD5</a> sum.
+ <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar">${project.artifactId}-${project.version}.jar</a>
+ and its <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}.jar.md5">MD5</a> sum.
</p>
</subsection>
<subsection name="Previous Versions">
- <p>Older releases can be found on ${project.artifactId} page of <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/">Hedgecode Release Repository</a>.</p>
- <p>Older snapshots can be found on ${project.artifactId} page of <a href="http://repo.hedgecode.org/content/repositories/snapshots/org/hedgecode/snooker/${project.artifactId}/">Hedgecode Snapshot Repository</a>.</p>
+ <p>Older releases can be found on ${project.artifactId} page of <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/">Hedgecode Release Repository</a>.</p>
+ <p>Older snapshots can be found on ${project.artifactId} page of <a href="https://repo.hedgecode.org/content/repositories/snapshots/org/hedgecode/snooker/${project.artifactId}/">Hedgecode Snapshot Repository</a>.</p>
</subsection>
<subsection name="${project.name} ${project.version} Source Code">
<p>Javadoc and Sources archives of the current version of the library:
- <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-javadoc.jar">javadoc</a>,
- <a href="http://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-sources.jar">sources</a>.
+ <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-javadoc.jar">javadoc</a>,
+ <a href="https://repo.hedgecode.org/content/repositories/releases/org/hedgecode/snooker/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-sources.jar">sources</a>.
</p>
- <p>Source code of the ${project.artifactId} can be found on <a href="http://svn.hedgecode.org/lib/${project.artifactId}/trunk/">Hedgecode Subversion Repository</a>.</p>
- <p>${project.name} source code is distributed under the <a href="http://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
+ <p>Source code of the ${project.artifactId} can be found on <a href="https://svn.hedgecode.org/lib/${project.artifactId}/trunk/">Hedgecode Subversion Repository</a>.</p>
+ <p>${project.name} source code is distributed under the <a href="https://www.apache.org/licenses/">Apache License, version 2.0</a>.</p>
</subsection>
</section>