...
Title: (combination of all the title fields with punctuation)
Document Type: Book
Source: (rest of citation)
DOI:
URL:
JSW propsed:
...
for Book/Report - [Publisher Location]: [Publisher]. [(Year)]
for Book Chapter/Section - In [Book Title]. Pp. [StartPage]-[EndPage]. [Publisher Location]: [Publisher]. [(Year)]
for Journal Articlem - [Journal Name]. [volume(Journal #)]:[StartPage]-[EndPage]. [(Year)]
for Thesis/Dissertation - "Dissertation or thesis". [Publisher Location (university?)]: [Publisher]. [(Year)]
for conference Presentation - "Presented at:" [full name of meeting ???]. [(Year)]
for Other - [Year]
@JSONTransient
@Override
public String getFormattedTitleInfo() {
StringBuilder sb = new StringBuilder();
appendIfNotBlank(sb, getTitle(), "", "");
appendIfNotBlank(sb, getEdition(), ",", "");
return sb.toString();
}
// FIXME: ADD IS?N
@JSONTransient
@Override
public String getFormattedSourceInformation() {
StringBuilder sb = new StringBuilder();
switch (getDocumentType()) {
case BOOK:
appendIfNotBlank(sb, getPublisherLocation(), "", "");
appendIfNotBlank(sb, getPublisherName(), ":", "");
break;
case BOOK_SECTION:
appendIfNotBlank(sb, getBookTitle(), "", "In ");
appendIfNotBlank(sb, getPageRange(), ".", "Pp. ");
appendIfNotBlank(sb, getPublisherLocation(), ".", "");
appendIfNotBlank(sb, getPublisherName(), ":", "");
break;
case CONFERENCE_PRESENTATION:
appendIfNotBlank(sb, getPublisherName(), "", "Presented at ");
appendIfNotBlank(sb, getPublisherLocation(), ",", "");
break;
case JOURNAL_ARTICLE:
appendIfNotBlank(sb, getJournalName(), "", "");
if (StringUtils.isNotBlank(getJournalNumber()) || StringUtils.isNotBlank(getVolume())) {
sb.append(".");
}
appendIfNotBlank(sb, getVolume(), "", "");
appendIfNotBlank(sb, getJournalNumber(), "", "");
appendIfNotBlank(sb, getPageRange(), ":", "");
break;
case OTHER:
break;
case THESIS:
String degreetext = "";
if (getDegree() != null) {
degreetext = getDegree().getLabel();
}
appendIfNotBlank(sb, degreetext + ".", "", "");
appendIfNotBlank(sb, getPublisherName(), "", "");
appendIfNotBlank(sb, getPublisherLocation(), ",", "");
break;
}
if (getDate() != null && getDate() != -1) {
appendIfNotBlank(sb, getDate().toString(), ".", "");
}
return sb.toString();
...
Actual Formatting:
Book
[ Authors ... ] [ Editors ...]
Title [, Edition] [,Publisher Location ] [, Publisher Name ] [ Date ].
Other
[ Authors ... ] [ Editors ...]
Title [,Publisher Location ] [, Publisher Name ] [ Date ].
Book Section
[ Authors ... ] [ Editors ...]
Title [, Edition] [, Book Title ] [. Pp. Page Range] [,Publisher Location ] [, Publisher Name ] [ Date ].
Conference Presentation
[ Authors ... ] [ Editors ...]
Title [, Edition] [,Presented at Publisher Name ] [, Publisher Location ] [ Date ].
Journal Article
[ Authors ... ] [ Editors ...]
Title [, Edition] [,Publisher Location ] [, Publisher Name ] [, Journal Name] [ , Volume ] [ , Journal Number ] [: Page Range ] [ Date ].
Thesis
[ Authors ... ] [ Editors ...]
Title [, Edition] [,Degree ] [, Publisher Name (School)] [, Publisher Location (Department) ] [ Date ].