Skip to content

Commit e56ce0f

Browse files
committed
Add ByteSupplier
1 parent 19bac38 commit e56ce0f

File tree

3 files changed

+75
-0
lines changed

3 files changed

+75
-0
lines changed

src/changes/changes.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ The <action> type attribute can be add,update,fix,remove.
8585
<action type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.lang3.time.DateUtils.toOffsetDateTime(Date[, TimeZone]).</action>
8686
<action type="add" dev="ggregory" due-to="Gary Gregory">Add org.apache.commons.lang3.time.DateUtils.toZonedDateTime(Date[, TimeZone]).</action>
8787
<action type="add" dev="ggregory" due-to="Gary Gregory">Add ByteConsumer.</action>
88+
<action type="add" dev="ggregory" due-to="Gary Gregory">Add ByteSupplier.</action>
8889
<action type="add" dev="ggregory" due-to="Gary Gregory">Add FailableByteConsumer.</action>
8990
<action type="add" dev="ggregory" due-to="Gary Gregory">Add FailableByteSupplier.</action>
9091
<!-- UPDATE -->
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* https://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.commons.lang3.function;
19+
20+
import java.util.function.IntSupplier;
21+
22+
/**
23+
* A functional interface like {@link IntSupplier}, but for a byte.
24+
*
25+
* @since 3.19
26+
*/
27+
@FunctionalInterface
28+
public interface ByteSupplier {
29+
30+
/**
31+
* Supplies a byte.
32+
*
33+
* @return a result.
34+
*/
35+
byte getAsByte();
36+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one or more
3+
* contributor license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright ownership.
5+
* The ASF licenses this file to You under the Apache License, Version 2.0
6+
* (the "License"); you may not use this file except in compliance with
7+
* the License. You may obtain a copy of the License at
8+
*
9+
* https://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS,
13+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
* See the License for the specific language governing permissions and
15+
* limitations under the License.
16+
*/
17+
18+
package org.apache.commons.lang3.function;
19+
20+
import static org.junit.jupiter.api.Assertions.assertEquals;
21+
22+
import org.junit.jupiter.api.Test;
23+
24+
/**
25+
* Tests {@link ByteSupplier}.
26+
*/
27+
class ByteSupplierTest {
28+
29+
@Test
30+
void testGetAsByte() {
31+
assertEquals(1, new ByteSupplier() {
32+
@Override
33+
public byte getAsByte() {
34+
return 1;
35+
}
36+
}.getAsByte());
37+
}
38+
}

0 commit comments

Comments
 (0)