mirror of
https://github.com/corda/corda.git
synced 2025-06-17 06:38:21 +00:00
add a few classes and methods to the classpath
Add java.lang.CharSequence, java.util.AbstractSet, java.util.AbstractCollection, Collections.unmodifiableSet, System.getProperty(String,String), etc.
This commit is contained in:
11
classpath/java/lang/CharSequence.java
Normal file
11
classpath/java/lang/CharSequence.java
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
package java.lang;
|
||||||
|
|
||||||
|
public interface CharSequence {
|
||||||
|
public char charAt(int index);
|
||||||
|
|
||||||
|
int length();
|
||||||
|
|
||||||
|
CharSequence subSequence(int start, int end);
|
||||||
|
|
||||||
|
String toString();
|
||||||
|
}
|
@ -415,4 +415,8 @@ public final class Class <T> {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean desiredAssertionStatus() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ package java.lang;
|
|||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
|
|
||||||
public final class String implements Comparable<String> {
|
public final class String implements Comparable<String>, CharSequence {
|
||||||
private Object data;
|
private Object data;
|
||||||
private int offset;
|
private int offset;
|
||||||
private int length;
|
private int length;
|
||||||
@ -425,6 +425,10 @@ public final class String implements Comparable<String> {
|
|||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public CharSequence subSequence(int start, int end) {
|
||||||
|
return substring(start, end);
|
||||||
|
}
|
||||||
|
|
||||||
public native String intern();
|
public native String intern();
|
||||||
|
|
||||||
public static String valueOf(Object s) {
|
public static String valueOf(Object s) {
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
package java.lang;
|
package java.lang;
|
||||||
|
|
||||||
public class StringBuffer {
|
public class StringBuffer implements CharSequence {
|
||||||
private final StringBuilder sb;
|
private final StringBuilder sb;
|
||||||
|
|
||||||
public StringBuffer(String s) {
|
public StringBuffer(String s) {
|
||||||
@ -116,4 +116,12 @@ public class StringBuffer {
|
|||||||
public synchronized String toString() {
|
public synchronized String toString() {
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String substring(int start, int end) {
|
||||||
|
return sb.substring(start, end);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CharSequence subSequence(int start, int end) {
|
||||||
|
return sb.subSequence(start, end);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
package java.lang;
|
package java.lang;
|
||||||
|
|
||||||
public class StringBuilder {
|
public class StringBuilder implements CharSequence {
|
||||||
private static final int BufferSize = 32;
|
private static final int BufferSize = 32;
|
||||||
|
|
||||||
private Cell chain;
|
private Cell chain;
|
||||||
@ -288,4 +288,15 @@ public class StringBuilder {
|
|||||||
this.next = next;
|
this.next = next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String substring(int start, int end) {
|
||||||
|
int len = end-start;
|
||||||
|
char[] buf = new char[len];
|
||||||
|
getChars(start, len, buf,0 );
|
||||||
|
return new String(buf, 0, len, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CharSequence subSequence(int start, int end) {
|
||||||
|
return substring(start, end);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,6 +54,15 @@ public abstract class System {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getProperty(String name, String defaultValue) {
|
||||||
|
String result = getProperty(name);
|
||||||
|
if (result==null) {
|
||||||
|
return defaultValue;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static String setProperty(String name, String value) {
|
public static String setProperty(String name, String value) {
|
||||||
for (Property p = properties; p != null; p = p.next) {
|
for (Property p = properties; p != null; p = p.next) {
|
||||||
if (p.name.equals(name)) {
|
if (p.name.equals(name)) {
|
||||||
|
112
classpath/java/util/AbstractCollection.java
Normal file
112
classpath/java/util/AbstractCollection.java
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
/* Copyright (c) 2008, Avian Contributors
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software
|
||||||
|
for any purpose with or without fee is hereby granted, provided
|
||||||
|
that the above copyright notice and this permission notice appear
|
||||||
|
in all copies.
|
||||||
|
|
||||||
|
There is NO WARRANTY for this software. See license.txt for
|
||||||
|
details. */
|
||||||
|
|
||||||
|
package java.util;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author zsombor
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public abstract class AbstractCollection<T> implements Collection<T> {
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see java.util.Collection#add(java.lang.Object)
|
||||||
|
*/
|
||||||
|
public boolean add(T element) {
|
||||||
|
throw new UnsupportedOperationException("adding to "
|
||||||
|
+ this.getClass().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see java.util.Collection#addAll(java.util.Collection)
|
||||||
|
*/
|
||||||
|
public boolean addAll(Collection<? extends T> collection) {
|
||||||
|
boolean result = false;
|
||||||
|
for (T obj : collection) {
|
||||||
|
result |= add(obj);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see java.util.Collection#clear()
|
||||||
|
*/
|
||||||
|
public void clear() {
|
||||||
|
throw new UnsupportedOperationException("clear() in "
|
||||||
|
+ this.getClass().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see java.util.Collection#contains(java.lang.Object)
|
||||||
|
*/
|
||||||
|
public boolean contains(T element) {
|
||||||
|
if (element != null) {
|
||||||
|
for (Iterator<T> iter = iterator(); iter.hasNext();) {
|
||||||
|
if (element.equals(iter.next())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (Iterator<T> iter = iterator(); iter.hasNext();) {
|
||||||
|
if (iter.next()==null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see java.util.Collection#isEmpty()
|
||||||
|
*/
|
||||||
|
public boolean isEmpty() {
|
||||||
|
return size() == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see java.util.Collection#remove(java.lang.Object)
|
||||||
|
*/
|
||||||
|
public boolean remove(T element) {
|
||||||
|
throw new UnsupportedOperationException("remove(T) in "
|
||||||
|
+ this.getClass().getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see java.util.Collection#size()
|
||||||
|
*/
|
||||||
|
public abstract int size();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
*
|
||||||
|
* @see java.util.Collection#toArray(S[])
|
||||||
|
*/
|
||||||
|
public <S> S[] toArray(S[] array) {
|
||||||
|
return Collections.toArray(this, array);
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract Iterator<T> iterator();
|
||||||
|
|
||||||
|
}
|
14
classpath/java/util/AbstractSet.java
Normal file
14
classpath/java/util/AbstractSet.java
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
/* Copyright (c) 2008, Avian Contributors
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software
|
||||||
|
for any purpose with or without fee is hereby granted, provided
|
||||||
|
that the above copyright notice and this permission notice appear
|
||||||
|
in all copies.
|
||||||
|
|
||||||
|
There is NO WARRANTY for this software. See license.txt for
|
||||||
|
details. */
|
||||||
|
|
||||||
|
package java.util;
|
||||||
|
|
||||||
|
public abstract class AbstractSet<T> extends AbstractCollection<T> implements Set<T> {
|
||||||
|
}
|
@ -187,4 +187,53 @@ public class Collections {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static class UnmodifiableSet<T> implements Set<T> {
|
||||||
|
Set<T> inner;
|
||||||
|
|
||||||
|
UnmodifiableSet(Set<T> inner) {
|
||||||
|
this.inner = inner;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean add(T element) {
|
||||||
|
throw new UnsupportedOperationException("not supported");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean addAll(Collection<? extends T> collection) {
|
||||||
|
throw new UnsupportedOperationException("not supported");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clear() {
|
||||||
|
throw new UnsupportedOperationException("not supported");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean contains(T element) {
|
||||||
|
return inner.contains(element);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isEmpty() {
|
||||||
|
return inner.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Iterator<T> iterator() {
|
||||||
|
return inner.iterator();
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean remove(T element) {
|
||||||
|
throw new UnsupportedOperationException("not supported");
|
||||||
|
}
|
||||||
|
|
||||||
|
public int size() {
|
||||||
|
return inner.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public <S> S[] toArray(S[] array) {
|
||||||
|
return inner.toArray(array);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T> Set<T> unmodifiableSet(Set<T> hs) {
|
||||||
|
return new UnmodifiableSet<T>(hs);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
package java.util;
|
package java.util;
|
||||||
|
|
||||||
public class TreeSet<T> implements Collection<T> {
|
public class TreeSet<T> extends AbstractSet<T> implements Collection<T> {
|
||||||
private PersistentSet<Cell<T>> set;
|
private PersistentSet<Cell<T>> set;
|
||||||
private int size;
|
private int size;
|
||||||
|
|
||||||
@ -41,12 +41,6 @@ public class TreeSet<T> implements Collection<T> {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean addAll(Collection<? extends T> collection) {
|
|
||||||
boolean change = false;
|
|
||||||
for (T t: collection) if (add(t)) change = true;
|
|
||||||
return change;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Used by hashMaps for replacement
|
// Used by hashMaps for replacement
|
||||||
public void addAndReplace(T value) {
|
public void addAndReplace(T value) {
|
||||||
PersistentSet.Path<Cell<T>> p = set.find(new Cell(value, null));
|
PersistentSet.Path<Cell<T>> p = set.find(new Cell(value, null));
|
||||||
@ -75,10 +69,6 @@ public class TreeSet<T> implements Collection<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T[] toArray(T[] array) {
|
|
||||||
return Collections.toArray(this, array);
|
|
||||||
}
|
|
||||||
|
|
||||||
public int size() {
|
public int size() {
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user