
// ObjektInUt.java

/******************************************************************************
/ ObjektInUt.java demonstrerar metoder som tar objekt som parameter och retur-
/ nerar objekt.
/
/*****************************************************************************/

public class ObjektInUt
{

    public static void main(String[] args)
    {
		StringBuilder	s = create ();
		System.out.println (s);
		
		changeByReference (s);
		System.out.println (s);
		
		System.out.println (changeAndReturnCopy (s));
		System.out.println ();
		
		System.out.println ("Men originalet är oförändrat:");
		System.out.println (s);
		
		System.out.println();
    }


/******************************************************************************
/ create() skapar ett nytt StringBuilder-objekt.
/
/ IN : (-)
/
/ UT : (StringBuilder)
******************************************************************************/

    public static StringBuilder create()
    {
		StringBuilder	sb = new StringBuilder ("Detta är en sträng");
		
		return sb;
	}


/******************************************************************************
/ changeByReferencee() ändrar genom referens det StringBuilder-objekt som ges
/ som parameter.
/
/ IN : (StringBuilder) sb : StringBuilder-objekt som skall ändras.
/
/ UT : (void)
/
******************************************************************************/
    public static void changeByReference(StringBuilder sb)
    {
		sb.append (" som har modifierats.");
	}


/******************************************************************************
/ changeAndReturnCopy() skapar en kopia av det StringBuilder-objekt som ges som
/ parameter, ändrar kopian och returnerar kopian.
/
/ IN : (StringBuilder) sb : Originalobjekt (påverkas inte av metoden).
/
/ UT : (StringBuilder)    : Ändrat objekt.
/
******************************************************************************/
    public static StringBuilder changeAndReturnCopy(StringBuilder sb)
    {
		StringBuilder	s2 = new StringBuilder (sb);
		s2.append (" Detta är ytterligare en modifiering.");
		
		return s2;
	}

}