ir.sadeghpro.insta.client.Post Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of insta4j Show documentation
Show all versions of insta4j Show documentation
this is library for working with instagram without using instagram api.
this library use instagram web browser
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package ir.sadeghpro.insta.client;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author peter
*/
public class Post {
private String id;
private TypeName typename;
private String caption;
private String shortcode;
private int comment;
private boolean commentsDisabled;
private int timestamp;
private Dimension dimensions = new Dimension();
private String displayUrl;
private int like;
private String ownerId;
private boolean isVideo;
private int videoViewCount = 0;
private Location location;
private String videoUrl;
private Post[] sidecars;
private List comments = new ArrayList<>();
public enum TypeName{
Sidecar("GraphSidecar"),
Video("GraphVideo"),
Image("GraphImage"),
Unknown("Unknown");
TypeName(String name){
this.name=name;
}
private String name;
public String toString(){
return this.name;
}
}
/**
* get String id of post on instagram to use in other method
* @return String id
*/
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
/**
* get type name of post like "GraphVideo" and "GraphImage"
* @return String type
*/
public TypeName getTypename() {
return typename;
}
public void setTypename(TypeName typename) {
this.typename = typename;
}
public void setTypename(String typename){
switch (typename){
case "GraphImage":
setTypename(Post.TypeName.Image);
break;
case "GraphVideo":
setTypename(Post.TypeName.Video);
break;
case "GraphSidecar":
setTypename(Post.TypeName.Sidecar);
break;
case "Unknown":
setTypename(Post.TypeName.Sidecar);
}
}
/**
* get caption of post
* @return String caption
*/
public String getCaption() {
return caption;
}
public void setCaption(String caption) {
this.caption = caption;
}
/**
* get short code of post that see in https://www.instagram.com/p/{ShortCode}/ and use in other method
* @return String type
*/
public String getShortcode() {
return shortcode;
}
public void setShortcode(String shortcode) {
this.shortcode = shortcode;
}
/**
* get comment count of post
* @return int comment count
*/
public int getComment() {
return comment;
}
public void setComment(int comment) {
this.comment = comment;
}
/**
* is disable comments in this post
* @return boolean
*/
public boolean isCommentsDisabled() {
return commentsDisabled;
}
public void setCommentsDisabled(boolean commentsDisabled) {
this.commentsDisabled = commentsDisabled;
}
/**
* get time of post in timestamp format
* @return int timestamp
*/
public int getTimestamp() {
return timestamp;
}
public void setTimestamp(int timestamp) {
this.timestamp = timestamp;
}
/**
* get dimensions of media
* @return Dimension
*/
public Dimension getDimensions() {
return dimensions;
}
public void setDimensions(int width, int height) {
dimensions.setSize(width, height);
}
/**
* get display image link of post that shown when you in list of posts and don't select the post
* @return String link of display image
*/
public String getDisplayUrl() {
return displayUrl;
}
public void setDisplayUrl(String displayUrl) {
this.displayUrl = displayUrl;
}
/**
* get like count of post
* @return int like count
*/
public int getLike() {
return like;
}
public void setLike(int like) {
this.like = like;
}
/**
* get owner id of post
* @return String ownerId id
*/
public String getOwnerId() {
return ownerId;
}
public void setOwnerId(String ownerId) {
this.ownerId = ownerId;
}
/**
* get type of post that is video or not
* @return boolean
*/
public boolean isVideo() {
return isVideo;
}
public void setIsVideo(boolean isVideo) {
this.isVideo = isVideo;
}
/**
* get view count of video. return 0 for images
* @return Dimension
*/
public int getVideoViewCount() {
return videoViewCount;
}
public void setVideoViewCount(int videoViewCount) {
this.videoViewCount = videoViewCount;
}
/**
* get location id of post
* if location id is 0 then means not set and if location id is -1 then there is no location id founded for his post at all.
* @return String
*/
public Location getLocation() {
return location;
}
public void setLocation(Location location) {
this.location = location;
}
/**
* get video url with mp4 extention
* @return String
*/
public String getVideoUrl() {
return videoUrl;
}
public void setVideoUrl(String videoUrl) {
this.videoUrl = videoUrl;
}
/**
* get sidecars for post with multi video or image
* @return String
*/
public Post[] getSidecars() {
return sidecars;
}
public void setSidecars(Post[] sidecars) {
this.sidecars = sidecars;
}
public List getComments() {
return comments;
}
public void addComments(List comments) {
this.comments.addAll(comments);
}
public void addComments(Comment comment) {
this.comments.add(comment);
}
}