diff options
Diffstat (limited to 'src/com/isode/stroke/elements')
-rw-r--r-- | src/com/isode/stroke/elements/AbstractBlockPayload.java | 49 | ||||
-rw-r--r-- | src/com/isode/stroke/elements/BlockListPayload.java | 14 | ||||
-rw-r--r-- | src/com/isode/stroke/elements/BlockPayload.java | 14 | ||||
-rw-r--r-- | src/com/isode/stroke/elements/UnblockPayload.java | 16 |
4 files changed, 74 insertions, 19 deletions
diff --git a/src/com/isode/stroke/elements/AbstractBlockPayload.java b/src/com/isode/stroke/elements/AbstractBlockPayload.java new file mode 100644 index 0000000..575b6ba --- /dev/null +++ b/src/com/isode/stroke/elements/AbstractBlockPayload.java @@ -0,0 +1,49 @@ +/* Copyright (c) 2016, Isode Limited, London, England. + * All rights reserved. + * + * Acquisition and use of this software and related materials for any + * purpose requires a written license agreement from Isode Limited, + * or a written license from an organisation licensed by Isode Limited + * to grant such a license. + * + */ +package com.isode.stroke.elements; + +import java.util.Vector; + +import com.isode.stroke.jid.JID; + +/** + * Parent abstract class for the Block pay load classes {@link BlockPayload}, + * {@link BlockListPayload} and {@link UnblockPayload}. + */ +public abstract class AbstractBlockPayload extends Payload { + /* + * Note this is slightly different to Swiften code as templates in C++ work + * different to Java Generics. In Swiften there exits a BlockParser template + * for which instances can be created of type <BlockPayload>, <BlockListPayload> and + * <UnblockPayload>. To get this to work in java we have to create a parent + * abstract class for all these Block elements types. + */ + + + /** + * Constructor + */ + protected AbstractBlockPayload() { + super(); + } + + /** + * Adds an item + * @param item item, not {@code null} + */ + public abstract void addItem(JID item); + + /** + * Gets the items + * @return items, NotNull. + */ + public abstract Vector<JID> getItems(); + +} diff --git a/src/com/isode/stroke/elements/BlockListPayload.java b/src/com/isode/stroke/elements/BlockListPayload.java index 5c6904d..66bd30d 100644 --- a/src/com/isode/stroke/elements/BlockListPayload.java +++ b/src/com/isode/stroke/elements/BlockListPayload.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011 Isode Limited. + * Copyright (c) 2011-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ @@ -11,12 +11,12 @@ package com.isode.stroke.elements; +import java.util.Vector; + import com.isode.stroke.base.NotNull; -import com.isode.stroke.elements.Payload; import com.isode.stroke.jid.JID; -import java.util.Vector; -public class BlockListPayload extends Payload { +public class BlockListPayload extends AbstractBlockPayload { Vector<JID> items = new Vector<JID>(); @@ -36,7 +36,8 @@ public class BlockListPayload extends Payload { /** * @param item, NotNull. */ - public void addItem(JID item) { + @Override + public void addItem(JID item) { NotNull.exceptIfNull(item, "item"); items.add(item); } @@ -44,7 +45,8 @@ public class BlockListPayload extends Payload { /** * @return items, NotNull. */ - public Vector<JID> getItems() { + @Override + public Vector<JID> getItems() { return items; } }
\ No newline at end of file diff --git a/src/com/isode/stroke/elements/BlockPayload.java b/src/com/isode/stroke/elements/BlockPayload.java index 8ce8620..9579430 100644 --- a/src/com/isode/stroke/elements/BlockPayload.java +++ b/src/com/isode/stroke/elements/BlockPayload.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011 Isode Limited. + * Copyright (c) 2011-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ @@ -11,12 +11,12 @@ package com.isode.stroke.elements; +import java.util.Vector; + import com.isode.stroke.base.NotNull; -import com.isode.stroke.elements.Payload; import com.isode.stroke.jid.JID; -import java.util.Vector; -public class BlockPayload extends Payload { +public class BlockPayload extends AbstractBlockPayload { Vector<JID> items = new Vector<JID>(); @@ -36,7 +36,8 @@ public class BlockPayload extends Payload { /** * @param item, NotNull. */ - public void addItem(JID item) { + @Override + public void addItem(JID item) { NotNull.exceptIfNull(item, "item"); items.add(item); } @@ -44,7 +45,8 @@ public class BlockPayload extends Payload { /** * @return items, NotNull. */ - public Vector<JID> getItems() { + @Override + public Vector<JID> getItems() { return items; } }
\ No newline at end of file diff --git a/src/com/isode/stroke/elements/UnblockPayload.java b/src/com/isode/stroke/elements/UnblockPayload.java index 5a5c709..7893527 100644 --- a/src/com/isode/stroke/elements/UnblockPayload.java +++ b/src/com/isode/stroke/elements/UnblockPayload.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2015 Isode Limited. + * Copyright (c) 2011-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ @@ -11,12 +11,12 @@ package com.isode.stroke.elements; -import com.isode.stroke.elements.Payload; -import com.isode.stroke.jid.JID; -import com.isode.stroke.base.NotNull; import java.util.Vector; -public class UnblockPayload extends Payload { +import com.isode.stroke.base.NotNull; +import com.isode.stroke.jid.JID; + +public class UnblockPayload extends AbstractBlockPayload { private Vector<JID> items = new Vector<JID>(); @@ -36,7 +36,8 @@ public class UnblockPayload extends Payload { /** * @param item, Not Null. */ - public void addItem(JID item) { + @Override + public void addItem(JID item) { NotNull.exceptIfNull(item, "item"); items.add(item); } @@ -44,7 +45,8 @@ public class UnblockPayload extends Payload { /** * @return items, Not Null. */ - public Vector<JID> getItems() { + @Override + public Vector<JID> getItems() { return items; } }
\ No newline at end of file |