summaryrefslogtreecommitdiffstats
path: root/daemon/src/main/java/org/openslx/taskmanager/util/BoundedLogSerializer.java
blob: 1a4336686004f7aed5b96f299b6f0cbe6f0b59fa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package org.openslx.taskmanager.util;

import java.lang.reflect.Type;

import org.openslx.taskmanager.api.BoundedLog;

import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;

public class BoundedLogSerializer implements JsonSerializer<BoundedLog>
{

	@Override
	public JsonElement serialize( BoundedLog src, Type typeOfSrc, JsonSerializationContext context )
	{
		StringBuilder sb = new StringBuilder( 500 );
		for ( String s : src ) {
			sb.append( s );
			if ( src.implicitNewlines ) {
				sb.append( '\n' );
			}
		}
		return new JsonPrimitive( sb.toString() );
	}

}