samples/BufferArray.java

changeset 1028
d79265f2fa92
parent 0
b1a7da25b547
     1.1 --- a/samples/BufferArray.java	Wed Oct 01 12:22:12 2014 +0200
     1.2 +++ b/samples/BufferArray.java	Thu Sep 25 15:53:47 2014 +0200
     1.3 @@ -29,8 +29,8 @@
     1.4   * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     1.5   */
     1.6  
     1.7 +import java.nio.DoubleBuffer;
     1.8  import jdk.nashorn.api.scripting.AbstractJSObject;
     1.9 -import java.nio.DoubleBuffer;
    1.10  
    1.11  /**
    1.12   * Simple class demonstrating pluggable script object
    1.13 @@ -52,41 +52,49 @@
    1.14      // underlying nio buffer
    1.15      private final DoubleBuffer buf;
    1.16  
    1.17 -    public BufferArray(int size) {
    1.18 +    /**
    1.19 +     * Constructor
    1.20 +     * @param size initial size
    1.21 +     */
    1.22 +    public BufferArray(final int size) {
    1.23          buf = DoubleBuffer.allocate(size);
    1.24      }
    1.25  
    1.26 -    public BufferArray(DoubleBuffer buf) {
    1.27 +    /**
    1.28 +     * Constructur
    1.29 +     * @param buf {@link DoubleBuffer} to link to
    1.30 +     */
    1.31 +    public BufferArray(final DoubleBuffer buf) {
    1.32          this.buf = buf;
    1.33      }
    1.34  
    1.35      // called to check if indexed property exists
    1.36      @Override
    1.37 -    public boolean hasSlot(int index) {
    1.38 +    public boolean hasSlot(final int index) {
    1.39          return index > 0 && index < buf.capacity();
    1.40      }
    1.41  
    1.42      // get the value from that index
    1.43      @Override
    1.44 -    public Object getSlot(int index) {
    1.45 +    public Object getSlot(final int index) {
    1.46         return buf.get(index);
    1.47      }
    1.48  
    1.49      // set the value at that index
    1.50      @Override
    1.51 -    public void setSlot(int index, Object value) {
    1.52 +    public void setSlot(final int index, final Object value) {
    1.53         buf.put(index, ((Number)value).doubleValue());
    1.54      }
    1.55  
    1.56      // do you have a property of that given name?
    1.57      @Override
    1.58 -    public boolean hasMember(String name) {
    1.59 +    public boolean hasMember(final String name) {
    1.60         return "length".equals(name) || "buf".equals(name);
    1.61      }
    1.62  
    1.63      // get the value of that named property
    1.64      @Override
    1.65 -    public Object getMember(String name) {
    1.66 +    public Object getMember(final String name) {
    1.67         switch (name) {
    1.68            case "length":
    1.69                return buf.capacity();
    1.70 @@ -94,7 +102,7 @@
    1.71                // return a 'function' value for this property
    1.72                return new AbstractJSObject() {
    1.73                    @Override
    1.74 -                  public Object call(Object thiz, Object... args) {
    1.75 +                  public Object call(final Object thiz, final Object... args) {
    1.76                        return BufferArray.this.buf;
    1.77                    }
    1.78  
    1.79 @@ -104,6 +112,8 @@
    1.80                        return true;
    1.81                    }
    1.82                };
    1.83 +          default:
    1.84 +              break;
    1.85         }
    1.86         return null;
    1.87      }

mercurial