mirror of
https://github.com/jlengrand/github-api.git
synced 2026-03-21 15:50:49 +00:00
61 lines
1.6 KiB
Java
61 lines
1.6 KiB
Java
package org.kohsuke.github;
|
|
|
|
import com.infradna.tool.bridge_method_injector.WithBridgeMethods;
|
|
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
|
|
|
|
import java.io.IOException;
|
|
import java.net.URL;
|
|
import java.util.Date;
|
|
|
|
/**
|
|
* Most (all?) domain objects in GitHub seems to have these 4 properties.
|
|
*/
|
|
@SuppressFBWarnings(value = {"UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD", "UWF_UNWRITTEN_FIELD",
|
|
"NP_UNWRITTEN_FIELD"}, justification = "JSON API")
|
|
public abstract class GHObject {
|
|
protected String url;
|
|
protected int id;
|
|
protected String created_at;
|
|
protected String updated_at;
|
|
|
|
/*package*/ GHObject() {
|
|
}
|
|
|
|
/**
|
|
* When was this resource created?
|
|
*/
|
|
@WithBridgeMethods(value=String.class, adapterMethod="createdAtStr")
|
|
public Date getCreatedAt() throws IOException {
|
|
return GitHub.parseDate(created_at);
|
|
}
|
|
|
|
/**
|
|
* API URL of this object.
|
|
*/
|
|
@WithBridgeMethods(value=String.class, adapterMethod="urlToString")
|
|
public URL getUrl() {
|
|
return GitHub.parseURL(url);
|
|
}
|
|
|
|
/**
|
|
* URL of this object for humans, which renders some HTML.
|
|
*/
|
|
@WithBridgeMethods(value=String.class, adapterMethod="urlToString")
|
|
public abstract URL getHtmlUrl();
|
|
|
|
/**
|
|
* When was this resource last updated?
|
|
*/
|
|
public Date getUpdatedAt() throws IOException {
|
|
return GitHub.parseDate(updated_at);
|
|
}
|
|
|
|
/**
|
|
* Unique ID number of this resource.
|
|
*/
|
|
@WithBridgeMethods(value=String.class, adapterMethod="intToString")
|
|
public int getId() {
|
|
return id;
|
|
}
|
|
}
|