All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.anotheria.anosite.blog.api.PostComparators Maven / Gradle / Ivy

There is a newer version: 4.1.2
Show newest version
package net.anotheria.anosite.blog.api;

import java.util.Comparator;

/**
 * Comparators for sorting posts in different orders.
 * 
 * @author vbezuhlyi
 */
public enum PostComparators implements Comparator {

	BY_CREATED {
		@Override
		public int compare(PostAO post, PostAO anotherPost) {
			if (post.getCreated() > anotherPost.getCreated())
				return 1;
			if (post.getCreated() < anotherPost.getCreated())
				return -1;
			return 0;
		}
	},

	BY_CREATED_DESC {
		@Override
		public int compare(PostAO post, PostAO anotherPost) {
			if (post.getCreated() > anotherPost.getCreated())
				return -1;
			if (post.getCreated() < anotherPost.getCreated())
				return 1;
			return 0;
		}
	},

	BY_UPDATED {
		@Override
		public int compare(PostAO post, PostAO anotherPost) {
			if (post.getUpdated() > anotherPost.getUpdated())
				return 1;
			if (post.getUpdated() < anotherPost.getUpdated())
				return -1;
			return 0;
		}
	},

	BY_UPDATED_DESC {
		@Override
		public int compare(PostAO post, PostAO anotherPost) {
			if (post.getUpdated() > anotherPost.getUpdated())
				return -1;
			if (post.getUpdated() < anotherPost.getUpdated())
				return 1;
			return 0;
		}
	},

	BY_BLOGGER {
		@Override
		public int compare(PostAO post, PostAO anotherPost) {
			return post.getBlogger().compareTo(anotherPost.getBlogger());
		}
	},

	BY_NAME {
		@Override
		public int compare(PostAO post, PostAO anotherPost) {
			return post.getName().compareTo(anotherPost.getName());
		}
	}

	/*
	 * Possibly BY_RANK or BY_LIKES comparator will be added in future.
	 */
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy